堆栈,队列的操作上级实验

堆栈,队列的操作上级实验

ID:47220419

大小:117.97 KB

页数:10页

时间:2019-08-28

堆栈,队列的操作上级实验_第1页
堆栈,队列的操作上级实验_第2页
堆栈,队列的操作上级实验_第3页
堆栈,队列的操作上级实验_第4页
堆栈,队列的操作上级实验_第5页
资源描述:

《堆栈,队列的操作上级实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验二堆栈和队列的基本操作上机目的:1、掌握栈的思想及其存储实现,掌握栈,队列的类型定义方法。2、明确栈是特殊的线性表。3、掌握栈的常见算法的程序实现:初始化栈、判栈为空、出栈、入栈,岀队入队等运算。4、掌握顺序栈,链栈,队列的简单应用。5、理解栈,队列的算法思、想,能够根据实际悄况选择合适的存储结构。二、上机要求:1、认真阅读和掌握本实验的算法。2、上机将本算法实现。3、保存和打印出程序的运行结果,并结合程序进行分析。三、上机内容:堆栈(包括顺序结构、链式结构)和队列的基木操作:初始化栈、判断栈空、出栈、入栈等运算。四、实验代码(详细设计):顺序栈的基本操作:#include^^Strin

2、g'^typedefcharElemType;#defineStackSize100/*顺序栈的初始分配空间*/typedefstruct{ElemTypedatafStackSize];/*保存栈中元素*/inttop;/*栈顶指针*/}SqStack;voidInitStack(SqStack&st){s匸top=-l;}intPush(SqStack&st,ElemTypex)/*进栈运算*/{if(st.top==StackSize-1)/*栈满*/return0;else/*栈不满*/st.top++;st.data[st.top]=x;return1;intPop(SqStack

3、&st,ElemType&x)/*'ll栈运算*/{讦(st.top==-1)/*栈空*/return0;else/*栈不空*/{x=st.datalst.top];st.top-;return1;intGctTop(SqStackst,ElcmTypc&x)/*取栈顶元索*/{if(st.top==-l)/*栈空*/return0;else{x=st.data[st.top];return1;)}intStackEmpty(SqStackst)/*判断栈空运算*/{if(st.top==-l)/*栈空*/return1;else/*栈不空*/return0;}voidmain(){SqSt

4、ackst;ElemTypee;InitStack(st);printf(”栈%sM,(StackEmpty(st)==1?H空”:“不空”));printf("a进栈");Push(st,'a');printf("b进栈");Push(st/b');printf("c进栈");Push(st,,c,);printf("d进栈");Push(st;d,);printf(H栈%s”,(StackEmpty(st)==l?”空“:“不空”));GetTop(st,e);printf("栈顶元素:%c",e);printf(”出栈次序:”);while(IStackEm

5、pty(st)){Pop(st,e);printf("%c”,e);}printf(nM);运行结果链栈的基木操作:#include#includetypedefintElemType;typcdcfstructlsnodc{ElemTypedata;structlsnode*next;}LinkStack;voidInitStack(LinkStack*&ls){ls=NULL;}voidPush(LinkStack*&Is,ElemTypex){LinkStack*p;p=(LinkStack*)malloc(sizeof(LinkStack))

6、;p->data=x;p->next=ls;ls=p;}intPop(LinkStack*&Is,ElemType&x){LinkStack*p;if(ls==NULL)return0;else{p=ls;x=p->data;ls=p->next;free(p);return1;}}intGetTop(LinkStack*&ls,ElemType&x){if(ls==NULL)return0;clsc{x=ls->data;returnI;}}intStackEmpty(LinkStack*ls){if(ls==NULL)return1;elsereturn0;}voidmain(){Lin

7、kStack*ls;ElemTypee;InitStack(ls);printf(H栈%s”,(StackEmpty(ls)==l?”空“:“不空”));printf(Ha进栈,');Push(ls,'a,);printfC'b进栈”);Push(ls,'b');printf(Hc进栈");Push(ls/c,);printf(Hd进栈”);Push(ls,'d‘);printf(H栈%s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。