欢迎来到天天文库
浏览记录
ID:47672642
大小:172.57 KB
页数:6页
时间:2019-10-19
《数据结构教程实验三》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《数据结构与算法》课程实验报告实验名•栈和队列实验序号实验三实验H期姓名曾霞院系计算机班级计算机2学号1360411201V业计算机科学与技术指导教师成绩一、实验目的和要求掌握线性表的逻辑结构特征掌握线性表的顺序表基本运算二、实验预习内容教材中关于线性表顺序表示方法及其基本运算项目一:教材中上机实验题3.1编写一个程序algo3-l.cpp.实现顺序栈的各种基本运算,并在此基础上设计一个主程序完成如下功能:1.初始化顺序栈s;2.判断栈s是否非空;3.依次进栈元素a,b,c,d,e;4.判断栈s是否非空;5.输出栈长度;6.输出从栈顶到栈底元素;7.输出出栈序列;8.判断
2、栈s是否非空;9.释放栈。项目二:教材中上机实验题3.3编写一个程序algo3-3.cpp.实现顺序环形队列的各种基本运算,并在此基础上设计一个主程序完成如下功能:1.初始化队列q;2.判断队列q是否非空;3.依次进队元素a,b,c;4•出队一个元素,输出该元素;5.输出队列q的元素个数;6.依次进队列元素d,e,f;7.输出队列q的元素个数;8.输出队列序列;9.释放队列。四、实验结果与分析实验3.1・・空eprr,TTTr工tjL.yttte为k1y3、希栈1栈从)L顶1岀栈序列空Frrtht为,d为总1c1亍"敦去M•±LLaHP实验2.2a'G:zxzx33Debug33.exewRpcontinue空t::-兀25宀工・・4^非,c甕显数・•否zb刖2el曹莪辛素td夕qw力,一匸场元嘉幕列亂队元曲列肇馆體个列Sa-队迸队队賠寥队岀次岀岀F放・・・・・・・・C・12345678b9/ql歹ql序otyern3.1#include#include#defineMaxSize50typedefcharElemType;typedefstructnodeElemTyped4、ata[MaxSize];inttop;JSqStack;voidInitStack(SqStack*&s)〃初始化s=(SqStack*)maIloc(sizeof(SqStack));s->top=-l;voidClearStack(SqStack*&s)〃销毁栈free(s);}intStackEmpty(SqStack*s)〃判断是否为非空{return(s->top!=-l);}intListStack(SqStack*s)〃长度return(s->top+l);}intPush(SqStack*&s,ElemTypee)〃进栈if(s->top==MaxSize-5、l)return0;s->top++;s->data[s->top]=e;return1;intPop(SqStack*&s,ElemType&e)〃出栈{if(s->top==-l)return0;e=s->data[s->top];s->top-;return1;}intGetTop(SqStack*s,ElemType&e)〃取消栈顶元素{if(s->top==-l)return0;e=s->data[s->top];return1;voidDispStack(SqStack*s)〃显示栈中元素{inti;for(i=s->top;i>=0;i—)printf(H%cH6、,s->data[i]);printf(HH);}voidmain(){inti;SqStack*s;ElemTypee;printf(Hl•初始化顺序栈:siT);InitStack(s);printf(H2.判断栈s是否非空(1为非空、0为空):%dn,StackEmpty(s));printf(n3.依次进栈元素a,b,c,d,e:H);Push(s/a');Push(s,,b,);Push(s/c');Push(s,*e');Push(s/d*);printf(n4.判断栈s是否非空(1为非空、0为空):%dH,StackEnipty⑸);print7、f(M5.输岀栈长度:%dH,ListStack(s));printf(n6.输出从栈顶到栈底元素:");DispStack(s);printf(H7.输出出栈序列:iT);vvhile(StackEmpty(s)){Pop(s,e);printf(H%cH,e);}printf(n&判断栈s是否非空(1为非空、0为空):%dH,StackEmpty(s));printf(H9.释放栈。”);ClearStack(s);3.3#include#include
3、希栈1栈从)L顶1岀栈序列空Frrtht为,d为总1c1亍"敦去M•±LLaHP实验2.2a'G:zxzx33Debug33.exewRpcontinue空t::-兀25宀工・・4^非,c甕显数・•否zb刖2el曹莪辛素td夕qw力,一匸场元嘉幕列亂队元曲列肇馆體个列Sa-队迸队队賠寥队岀次岀岀F放・・・・・・・・C・12345678b9/ql歹ql序otyern3.1#include#include#defineMaxSize50typedefcharElemType;typedefstructnodeElemTyped
4、ata[MaxSize];inttop;JSqStack;voidInitStack(SqStack*&s)〃初始化s=(SqStack*)maIloc(sizeof(SqStack));s->top=-l;voidClearStack(SqStack*&s)〃销毁栈free(s);}intStackEmpty(SqStack*s)〃判断是否为非空{return(s->top!=-l);}intListStack(SqStack*s)〃长度return(s->top+l);}intPush(SqStack*&s,ElemTypee)〃进栈if(s->top==MaxSize-
5、l)return0;s->top++;s->data[s->top]=e;return1;intPop(SqStack*&s,ElemType&e)〃出栈{if(s->top==-l)return0;e=s->data[s->top];s->top-;return1;}intGetTop(SqStack*s,ElemType&e)〃取消栈顶元素{if(s->top==-l)return0;e=s->data[s->top];return1;voidDispStack(SqStack*s)〃显示栈中元素{inti;for(i=s->top;i>=0;i—)printf(H%cH
6、,s->data[i]);printf(HH);}voidmain(){inti;SqStack*s;ElemTypee;printf(Hl•初始化顺序栈:siT);InitStack(s);printf(H2.判断栈s是否非空(1为非空、0为空):%dn,StackEmpty(s));printf(n3.依次进栈元素a,b,c,d,e:H);Push(s/a');Push(s,,b,);Push(s/c');Push(s,*e');Push(s/d*);printf(n4.判断栈s是否非空(1为非空、0为空):%dH,StackEnipty⑸);print
7、f(M5.输岀栈长度:%dH,ListStack(s));printf(n6.输出从栈顶到栈底元素:");DispStack(s);printf(H7.输出出栈序列:iT);vvhile(StackEmpty(s)){Pop(s,e);printf(H%cH,e);}printf(n&判断栈s是否非空(1为非空、0为空):%dH,StackEmpty(s));printf(H9.释放栈。”);ClearStack(s);3.3#include#include
此文档下载收益归作者所有