24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1944  |  回复: 14
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

路过081001

铜虫 (正式写手)

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

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

xdpalm

金虫 (小有名气)

【答案】应助回帖

栈和结构体是两个层面的东西。栈是数据结构范畴的概念,而结构体是编程语言里的概念。数据结构是通过语言来描述和实现的。做个比方,栈如果是一个物体,那么我们可以用不同的单词描述它,例如,year,年。这里两个词表示同一个概念。再返回来,我们可以用结构体来描述栈,同样,上面同学也提到了,也可以用链表来描述栈。            另外,给你描述一下栈的概念。栈应该是一个存储空间,以及定义在这个空间上所能进行的操作,如,出栈,进栈,返回栈顶值,取得栈内元素个数等操作。它是一个抽象概念。 在数据结构范畴我们通常会关心如何操作存储空间,而如何实现栈的概念是编程的时候关心的问题。你给的结构体只是描述栈的一个方法,而不是唯一途径来描述它  。不知楼主明白些没。

[ 发自手机版 http://muchong.com/3g ]
12楼2012-11-29 11:58:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 15 个回答

anntoy

木虫 (著名写手)

【答案】应助回帖

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

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的回帖

psxlcs

金虫 (正式写手)

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