24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1935  |  回复: 14

路过081001

铜虫 (正式写手)

[求助] 数据结构C语言中,这个不懂耶

typedef struct{
  SElemType  *base;
SElemType  *top;
int stacksize;
}SqStack;
这是不是和C中定义结构体是同一个意思?那么用在栈中有是怎么回事呢?我很是不懂,请细细帮我 分析下,谢谢
回复此楼
不要光上人人QQ,不然好没出息。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

chentianyu1

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
CODE:
typedef struct{
  SElemType  *base;
SElemType  *top;
int stacksize;
}SqStack;

base、top是两个指针,分别指向栈底、栈顶;
stacksize保存的是栈的大小。
栈的每个元素(元素类型是SElemType)实际上存在一个动态链表里面,base和top指向这个链表的两端,stacksize是链表的长度。
向栈内添加/删除元素的操作,实际上就是在这个链表里面添加/删除节点,同时移动base或top指针,并更改stacksize数值。
3楼2012-11-23 00:43:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

anntoy

木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
就是定义了一个结构体类型呀,这种结构体用来描述一个栈
2楼2012-11-22 23:26:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

psxlcs

金虫 (正式写手)

接3楼,另外就是给结构体重新起了各名字sqstack
4楼2012-11-23 11:14:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wwwhbjpim

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
同意 chentianyu1
5楼2012-11-23 11:22:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

skevin000

铜虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
三楼说的很详细。
这是属于软件堆栈吧~
静下心来,努力学习,创新……
6楼2012-11-23 16:46:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaogouZZ

新虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
SElemType表示数据类型的意思
7楼2012-11-24 22:59:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rockybob

铁杆木虫 (著名写手)

不是很懂,再加定义语句的话就会更清楚
医院信息化建设达人,欢迎张贴发话题共同讨论!
8楼2012-11-26 22:31:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leowing

木虫 (正式写手)

三楼正解。
9楼2012-11-27 09:06:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

daixi8

铜虫 (初入文坛)

【答案】应助回帖

三楼说的有些不是很正确的地方。
既然是顺序栈就不可能使用链表了,否则就是链栈了。是用一个数组来存储栈。初始化的时候预先申请一定长度的数组(如100),stacksize初始化为0,stacksize用来表示栈当中元素的个数,入栈操作stacksize++,出栈stacksize--,当元素个数达到初始化最大值的时候,要用realloc扩充数组长度。
10楼2012-11-27 13:34:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 路过081001 的主题更新
信息提示
请填处理意见