The LinkStNode for Linked stack (Continuous updates) | Data
程序员文章站
2022-04-25 19:30:52
...
The LinkStNode for Linked stack | Data
The code in Data book (5th Edition) from the 83 page to 86 page
Continuous updates
#define MaxSize 50
typedef int ElemType;
typedef struct linknode {
ElemType data; //Data domain
struct linknode *next; //Pointer domain
} LinkStNode;
//1 Initialize the stack
void InitStack(LinkStNode *&s) {
s=(LinkStNode *)malloc(sizeof(LinkStNode));
s->next=NULL;
}
//2 Destroy stack
void DestroyStack(LinkStNode *&s) {
LinkStNode *p=s, *q=s->next;
while (q!=NULL) {
free(p);
p=q;
q=p->next;
}
free(p); //Free up its space
}
//3 Determine if the stack is empty
bool StackEmpty(LinkStNode *s) {
return(s->next==NULL);
}
//4 Into the stack
void Push(LinkStNode *&s,ElemType e) {
LinkStNode *p;
p=(LinkStNode *)malloc(sizeof(LinkStNode));
p->data=e;
p->next=s->next;
s->next=p;
}
//5 Out stack
bool Pop(LinkStNode *&s,ElemType &e) {
LinkStNode *p;
if (s->next==NULL)
return false;
p=s->next;
e=p->data;
s->next=p->next;
free(p);
return true;
}
//6 Top element of the stack
bool GetTop(LinkStNode *s,ElemType &e) {
if (s->next==NULL)
return false;
e=s->next->data;
return true;
}
如有侵权,请联系作者删除
推荐阅读
-
科捷X-DATA重磅登陆第二届数字中国建设峰会
-
HTML5的自定义属性data-*详细介绍和JS操作实例
-
js动态在form上插入enctype=multipart/form-data的问题
-
Data URI scheme详解和使用实例及图片base64编码实现方法
-
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
-
Bootstrap中data-target 到底是什么
-
Android Data Binding 在 library module 中遇到错误及解决办法
-
JS栈stack类的实现与使用方法示例
-
Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini及服务无法启动的快速解决办法(问题小结)
-
C++数据类型(data type)介绍