数据结构实验三之顺序栈_第1页
数据结构实验三之顺序栈_第2页
数据结构实验三之顺序栈_第3页
数据结构实验三之顺序栈_第4页
数据结构实验三之顺序栈_第5页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include<stdio.h>#include<malloc.h>#define MAXSIZE 100typedef int DataType;typedef struct stackDataType dataMAXSIZE;int top;sqstack;sqstack *InitStack(sqstack *S)/顺序栈的初始化S->top=-1;return S;void push(sqstack *S,DataType x)/顺序栈的元素入栈if(S->top>MAXSIZE-1)printf("error!");el

2、seS->top+;S->dataS->top=x;DataType pop(sqstack *S)/顺序栈的元素出栈int x;if(S->top=-1)printf("Underflow!");elsex=S->dataS->top;printf("出栈的值为:%5dn",S->dataS->top);S->top-;return x;DataType GetTop(sqstack *S)/顺序栈取顶元素if(S->top=-1)printf("Underflow!n")

3、;return 0;elsereturn S->dataS->top;int Empty(sqstack *S)/顺序栈的判空if(S->top=-1)return 1;else return 0;void Digit_conversion(sqstack *S)int x,y,dataMAXSIZE,c,count=0;InitStack(S);printf("请输入一个十进制数,在输入一个其他进制数:n");scanf("%d%d",&x,&y);printf("将%d的十进制数将其转化为%d进制数:n&q

4、uot;,x,y);while(x)push(S,x%y);x=x/y;while(!Empty(S)datacount=pop(S);count +;c=count;printf("转换后的结果为:t");for(count=0;count<c;count+)if(datacount>9)printf("%c",datacount+'A'-10); else printf("%dt",datacount);printf("%n");void menu()printf("* *

5、n");printf("* 0 退 出 *n");printf("* 1 顺序栈的初始化 *n");printf("* 2 顺序栈的入栈 *n");printf("* 3 顺序栈的出栈 *n");printf("* 4 获取顺序栈的顶元素 *n");printf("* 5 顺序栈的的判空 *n");printf("* 6 利用顺序栈将十进制 *n");printf("* 转换为其他进制数 *n");printf("*

6、n");int main()sqstack *L,*Sqstack;int flag=1,number1,number2,data,a;char ch,ch1;L=(sqstack *)malloc(sizeof(sqstack);menu();while(flag)doprintf("请输入一个07的数:.");scanf("%d",&number1);ch=getchar();if(number1<0|number1>7)printf("输入有误,请重新输入!n");while(number1<

7、0|number1>7);switch(number1)case 0:flag=0;break;case 1:Sqstack=InitStack(L);break;case 2:printf("你确定要输入入栈的数据?如果要输入请输入y/Y:n");ch1=getchar();while(ch1='y'|ch1='Y')printf("输入你要入栈的数据:n");scanf("%d",&data);fflush(stdin);push(Sqstack,data);printf("你还要输入入栈的数据?如果要输入请输入y/Y:n");ch1=getchar();break;case 3:pop(Sqstack);break;case 4:number2=GetTop(Sqstack);printf("输入取出的栈顶元素:n");printf("其值为:%5dn",number2);break;case 5:a=Empty(Sqstack);i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论