⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3-1-2-1.txt

📁 数据结构源程序
💻 TXT
字号:
/*链栈的基本运算与实现*/
#include <stdio.h>
#include <malloc.h>
typedef int datatype;
typedef struct node
{
	datatype data;
	struct node *next;
}StackNode,*LinkStack;
void menu();
LinkStack Init_LinkStack();
int Empty_LinkStack(LinkStack top);
LinkStack Push_LinkStack(LinkStack top,datatype x);
LinkStack Pop_LinkStack(LinkStack top,datatype *s);
void main()
{
	int n,m=1;
	LinkStack L=NULL;

	/*clrscr();*/
	while(m)
	{
		menu();
		scanf("%d",&n);
		switch(n)
		{
			case 1:	L=Init_LinkStack();
				break;
			case 2:{
				StackNode *p=L;
				int flag;
				flag=Empty_LinkStack(L);
				if(flag==0)
				{
					while(p)
					{
						printf("%5d",p->data);
						p=p->next;
					}
				}
				else
					printf("stack empty!\n");
				break;
				}
			case 3:{
				LinkStack p;
				datatype x;
				printf("please input a value x:\n");
				scanf("%d",&x);
				L=Push_LinkStack(L,x);
				p=L;
				while(p)
				{
					printf("%5d",p->data);
					p=p->next;
				}
				break;
				}
			case 4:{
				datatype x,*s;
				LinkStack p;
				s=&x;
				L=Pop_LinkStack(L,s);
				p=L;
				while(p)
				{
					printf("%5d",p->data);
					p=p->next;
				}
				printf("\n%5d\n",x);
				break;
				}
			case 5:m=0;
		}
	}
}
void menu()
{
	/*clrscr();*/
	printf("\n");
	printf("\t\t1.stack zhi kong\n\n");
	printf("\t\t2.empty stack\n\n");
	printf("\t\t3.push stack\n\n");
	printf("\t\t4.pop stack\n\n");
	printf("\t\t5.exit\n\n");
	printf("\n\n\n\tplease select:");
}
LinkStack Init_LinkStack()
{
	return NULL;
}
int Empty_LinkStack(LinkStack top)
{
	if(top==NULL) 
		return 1;
	else
		return 0;
}
LinkStack Push_LinkStack(LinkStack top,datatype x)
{
	StackNode *s;
	s=(StackNode*)malloc(sizeof(StackNode));
	s->data=x;
	s->next=top;
	top=s;
	return top;
}
LinkStack Pop_LinkStack(LinkStack top,datatype *s)
{
	StackNode *p;
	int j=0;
	if(top==NULL)
	{
		return NULL;
	}
	else
	{
		*s=top->data;
		p=top;
		top=top->next;
		free(p);
		return top;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -