ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:29.97KB ,
资源ID:22881716      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22881716.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(堆栈和队列基本函数docxWord文件下载.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

堆栈和队列基本函数docxWord文件下载.docx

1、return 1;int Pop_Seqstack(Seqstack *s,datatype *x) 严出栈函数1 先决条件:从栈中岀一个数据,并将其存放到x中咸 功返回1,因栈空失败返回0*/top=-l)* x=s-top;top;int Top_Seqstack(Seqstack *s,datatype *x)/*取栈顶元素函数1 先决条件:取栈顶元素,并把其存放到x中,成 功返回1,因栈空失败返回0*/int Printf_Seqstack(Seqstack *s)/*遍历顺序栈函数1 先决条件:遍历顺序栈,成功返回P/int i,j=0;for(i=s-top;i=0;i-)prin

2、tf(%d n,s-datai);/*因 datatype 不同而不同*/j+;if(j%!0=0)printf(,nM);printf(nnn);int Conversation_Seqstack(int N,int r)/*数制转换函数(顺序栈)1 先决条件:具有置空栈,入栈,出栈函数2函数作用:将N转换为r进 制的数*/Scqstack *s;datatype x;printf(n%d转为d进制的数为:“,N,r);/*以后可以删除去*/s=Init_Seqstack();doPush_Seqstack(s$N%r);N=N/r;whilc(N);while(Pop_Seqstack(s

3、,&x)if(x=10)/*为了能转为十进制以上的*/ printf(” c”,x+55);elseprintf(” d”,x);)free(s);/*释放顺序栈*/printf(nnM);4.主函数int main()int choice;doprintfCU.置空栈2 判栈空3 入栈4出栈5 収栈顶元素6 遍历7 退出);printf(H请输入选择(17):”);scanf(H%d&choice);getchar(); switch(choice) case 1:if(s)B 空栈成功!nH);break;case 2:if(Empty_Seqstack(s)printf(” 此为空栈An

4、”);此不为空栈.nM); case 3:请输入一个整数: scanf(” d”,&x); if(Push_Seqstack(s,x) printf(n 入栈成功An”);,栈已满,无法入栈 AnM);case 4:if(Pop_Seqstack(s,&出栈成功,出栈元素为:%dn”,x);printf(”出栈失败,因栈为空.nu);case 5:if(Top_Seqstack(s,&print”取栈顶元素成功,栈顶元素为:printf(“取栈顶元素失败,因栈为空AiT);case 6:Printf_Seqstack(s);case 7:printf(M 谢谢使用!n);brcak;defau

5、lt:输入错误,请重新输入!while(choice!=7);二链栈# includcnext=N U LL)int Push_Linkstack(Linkstack top.datatype x)八入栈函数1 先决条件:将数据x入栈,成功返回1,失败返回0引Stacknode *p;p=(Stacknode *)malloc(sizeof(Stacknode);p-data=x;next=top-next;top-ncxt=p;int Pop_Linkstack(Linkstack topdatatype *x)八出栈函数1 先决条件:若栈空退岀,若没空则将数据岀栈,并将其存 放到x中,成功

6、返回1,因栈空失败返回0*/Stacknode *p=top-*x=p-data;next=p-free(p);int Top_Linkstack(Linkstack top,datatypc *x)取栈顶元素并放到x中,成功返回1,因栈空失败返回0*/next=NULL)*x=top-next-int Printf_Linkstack(Linkstack top)/*遍历链栈函数1 先决条件:遍历链栈,成功返回1*/int j=0;while(p)printf(H%d ,p-data);if(j%10=0)p=p-printf(HnM);int Conversation_Linkstack(

7、int N,int r)/*数制转换函数(链栈)1 先决条件:将N转换为r进制 的数*/printf(”d转为d进制的数为:,N,r);top=Init_Linkstack();Push_Linkstack(top,N%r);while(N);while(Pop_Linkstack(top,&= 10)/*为了能转为十进制以上的*/printf(”c”,x+55);printf(H%dM,x);printf(,iiM);free(top);/*释放栈顶空间*/printfCl.置空栈2 判栈空3 入栈4出栈5 取栈顶元素6遍历7 退出W);printf(M请输入选择(17): getchar(

8、);if(top)nM);if(Empty_Linkstack(top)printf(”此为空栈An”);printfC 毗不为空栈.ncase 3:);scanf(”d”,&if(Push_Linkstack(top,x)printfC入栈成功An”);printfC 栈已满,无法入栈AnM);if(Pop_Linkstack(top,&printfC*出栈成功,出栈元素为:%dn,x); elseprintfC* Hj 栈失败,因栈为空.n*);if(Top_Linkstack(top,&printfC栈顶元素成功,栈顶元素为:dn”,x);printf(”取栈顶元素失败,因栈为空An”)

9、; break;Printf_Linkstack(top);printf(M谢谢使用!defai山:prinlf(输入错课,请重新输入!n”);whilc(choicc!三顺序队列1.宏定义#includefront=q-rear=MAXSIZE-1;num=();return q;int In_Sequeue(Sequeue *q,datatype x)严入队函数1先决条件:初始化顺序队列2函数作用:将数据x入队到q中,成功返回1,因队满 失败返回0*/if(q-num=MAXSIZE)队满An*);/*可视情况删除此句*/rear=(q-rear+ 1)%MAXSIZE;datafq-re

10、ar=x;num+;int Front_Sequeue(Sequeue *q3atatype *x)/*取队头元素函数1 先决条件:初始化顺序表2函数作用:取队头元素并将其存放到x中咸功 返回1,因队空而失败返回0旬num=0)printf(H队空.);/*町视怙:况删除此句旬 return 0;*x=q-dataq-front+1;int Out_Sequeue(Sequeue datatype *x)/*出队函数1先决条件:将数据x入队到q中,成功返回1,因队空 失败返回0*/printf(”队空.n“);front=(q-front+ 1)%MAXSIZE;* x=q-front;qon

11、um;int Empty_Sequeue(Sequeue *q)/*判空函数1先决条件:是空返回1,非空返回0*/int PrintfLSequeue(Sequeue *q)/*遍历函数1先决条件:遍历输岀所有数据引int i,j=q-front+l,n=q-num;for(i=0;idataj);/*因 datatype 数据不同而不同*/j=j%MAXSIZE;printf(niiM);4 主函数 datatype x; do /* f I fixW * f next=p;int Empty_Lqueue(Lqueue *q)/*判空函数1 先决条件:front=q-rear)int Fr

12、ont_Lqueue(Lqueue *q,datatype *x)取队头元素并将其存放到x中,成功 返回1,因队空而失败返回0*/if(Empty_Lqueue(q)printf(”队空.n ”) ;front-int Out_Lqueue(Lqueue datatype *x)/*出队函数1 先决条件:将数据x入队到q中,成功返回1,因队空失 败返回0*/Qnodc *p;p=q-next=p next;ncxt=NULL)rear=q-front;int Printf_Lqueue(Lqueue *q)/*遍历函数1 先决条件:遍历输出所有数据引for(p=q-p!=NULL;next)%

13、d ”,p-printf(” n”);4主函数 int choice;printfCl.初始化2 判队空3入队4出队5 取队头元6遍历7退出W);scanf(n%dH,&q=lnit_Lqueue();if(Empty_Lqucuc(q)if(In_Lqueue(q,x)if(Out_Lqueue(q,&x) printf(iTi队成功,出队元素为:printf(”出队失败,因队为空.nn);if(Front_Lqueue(q,&printf(”取队头元素成功,队头元素为:else printfCl队头元素失败,因队为空.n“);Printf_Lqueue(q);printf(H 谢谢使用!ii

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1