当前位置:文档之家› 数据结构实验三(顺序栈的基本操作)

数据结构实验三(顺序栈的基本操作)

#include<>
#include<>
#include<>
#define MAXSIZE 100
typedef int DataType;
typedef struct stack
{
DataType data[MAXSIZE];
int top;
}sqstack;
sqstack *InitStack(sqstack *S)出* 1.顺序栈的初始化*┃\n");
printf("\t┃* * *┃\n");
printf("\t┃************************************************************┃\n");
printf("\t┃* * *┃\n");
printf("\t┃* 2.元素的入栈* 3.元素的出栈*┃\n");
printf("\t┃* * *┃\n");
printf("\t┃************************************************************┃\n");
printf("\t┃* * *┃\n");
printf("\t┃* 4.取栈顶元素* 5.判空*┃\n");
printf("\t┃* * *┃\n");
printf("\t┃************************************************************┃\n");
printf("\t┃* *┃\n");
printf("\t┃* 6.将十进制数转换为其他进制数*┃\n");
printf("\t┃* *┃\n");
printf("\t┃************************************************************┃\n");
printf("\t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
while ((m='0')&&(m='1')&&(m='2')&&(m='3')&&(m='4')&&(m='5')&&(m='6')&&(m='7'))
{
printf("\n请选择你需要操作的步骤(0至7):");
fflush(stdin);
scanf("%c",&m);
switch(m)
{
case '0':
{
exit(0);
break;
}
case '1':
{
Sqstack=InitStack(L);
break;
}
case '2':
{
printf("输入你要入栈的数据:\n");
scanf("%d",&data);
fflush(stdin);
while(data!=0)
{
push(Sqstack,data);
printf("继续输入你要入栈的数据,若想结束,请按0终止\n");
scanf("%d",&data);
}
break;
}
case '3':
{
pop(Sqstack);
break;
}
case '4':
{
printf("输入取出的栈顶元素:\n");
printf("其值为:%d\n",GetTop(Sqstack));
break;
}
case '5':
{
if(Empty(Sqstack)==1)
printf("此栈为空!\n");
else
printf("此栈不为空!\n");
break;
}
case '6':
{
Digit_conversion(Sqstack);
break;
}
}
}
return 0;
}。

相关主题