栈的链接实现栈的链接实现
/*栈的链接实现*/
#include
#define datasize 10
typedef struct node
{ int data; /*数据域*/
struct node *next; /*指针域*/
}LkStk;
void InitStack(LkStk *LS)
/*初始化*/
{
LS=(LkStk *)malloc(sizeof(LkStk));
LS->next=NULL; /*建立一个空栈*/
}
int EmptyStack(LkStk *LS)
/*判栈空*/
{
if(LS->ne...
栈的链接实现
/*栈的链接实现*/
#include
#define datasize 10
typedef struct node
{ int data; /*数据域*/
struct node *next; /*指针域*/
}LkStk;
void InitStack(LkStk *LS)
/*初始化*/
{
LS=(LkStk *)malloc(sizeof(LkStk));
LS->next=NULL; /*建立一个空栈*/
}
int EmptyStack(LkStk *LS)
/*判栈空*/
{
if(LS->next==NULL)
return 1;
else
return 0;
}
void Push(LkStk *LS,int x)
/*进栈*/
{ LkStk *temp;
temp=malloc(sizeof(LkStk));/*temp指向新结点*/
temp->data=x; /*新结点的data域赋值为x*/ temp->next=LS->next; /*temp的next域指向原来的栈顶结点*/ LS->next=temp; /*指向新的栈顶结点*/
}
int Pop(LkStk *LS)
/*出栈*/
{
LkStk *temp;
if(!EmptyStack(LS)) /*判断栈是否为空*/
{
temp=LS->next; /*temp指向栈顶结点*/
LS->next=temp->next; /*原栈顶的下一结点成为新的栈顶*/ free(temp);
return 1;
}
else
return 0;
}
int GetTop(LkStk *LS)
/*取栈顶元素*/
{
if(!EmptyStack(&LS))
return LS->next->data;
else
printf("NULLData\n");
}
main()
{
LkStk LS;
int i,x;
InitStack(&LS);
for(i=1;i
本文档为【栈的链接实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。