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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构 实验二 栈队列算法设计Word下载.docx

1、 /存储空间分配增量typedef struct int *base; /在构造之前和销毁之后,base的值为NULL int *top; /栈顶指针 int stacksize; /当前已分配的存储空间,以元素为单位SqStack;void InitStack(SqStack &S) /构造一个空栈S S.base=(int *)malloc(STACK_INIT_SIZE*sizeof(int); if(!S.base) exit(0); /存储分配失败 S.top=S.base; S.stacksize=STACK_INIT_SIZE; /cout初始化完毕endl;/InitStack

2、void GetTop(SqStack S,int &e) /若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERROR if(S.top=S.base) cout此栈为空! e=*(S.top-1); coute/ coutS.stacksize)/栈满,追加存储空间 S.base=(int *)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(int);新分配空间失败! S.top = S.base + S.stacksize; S.stacksize += STACKINCREMENT; *S.top+=e;插入元素成功/Push

3、void Pop(SqStack &S,int & /若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK; if(S.base=S.top)此栈为空栈,无法删除! e=*-S.top;删除成功!/Popvoid ClearStack(SqStack & /把S置为空栈 coutn; Stack.stacksize=n; do请选择操作: 1,进栈 2,出栈 3,查看栈顶值 4,清空栈 5,退出m; switch(m) case 1: 请输入进栈值: cinz; if(i=Stack.stacksize) coutSorry!endl栈溢出!此程序将退出! exit(0); Push(Sta

4、ck,z); i+; break; case 2: Pop(Stack,x);x出栈 case 3:栈顶值为: GetTop(Stack,y); case 4: ClearStack(Stack); case 5:Exit! default:输入错误!此程序将退出! /switch while(m!=5); getch();2. #include /链式栈typedef struct Stack Stack *next; int data;Stack,*SLink; SLink top; int length; /构造一个空栈 S.top=NULL; /设栈顶指针的初值为空 S.length=

5、0; /空栈中元素个数为 /在栈顶之上插入元素 e 为新的栈顶元素 SLink p; p=new Stack; /建新的结点 p-data=e;next=S.top; S.top=p; +S.length; /若栈不空,则删除S的栈顶元素,用e返回其值S.top)此栈为空栈! e=S.top-data; S.top=S.top-next;void GetTop(SqStack & /若栈不空,取栈顶元素,用e返回其值此栈为空栈! / /需改正! if(i=n)/队空、入队和出队int n=0;typedef struct Q Q *next;Q,*QLink;void InitQ(QLink

6、&q) /构造一个队列 q-next=q;/InitQvoid Push(QLink &q,int & /入队 QLink p; p=new Q;next=q-next=p; n+;void OutQ(QLink & /出队 QLink t; t=new Q; p=q; int i; for(i=0;inext-data=e) t=p- p-next=t- delete t; break; /if p=p- /for if(i=(n+1)您所输入的值不存在!/OutQvoid ClearQ(QLink & /置队空 q=q-/ClearQvoid checkQ(QLink & /查看队尾元素

7、if(q-next=q)此队列为空!程序将退出! e=q-/check int m,x,n,y; QLink Qu; Qu=new Q; InitQ(Qu); 1,入队 2,出队 3,查看队尾元素 4,清空队列 5,退出 x; switch(x)请输入您想插入的值:t; Push(Qu,m);请输入您想出队的值: OutQ(Qu,n);n出队 checkQ(Qu,y);队尾元素为:ystringusing namespace std;bool comp(char x,char y) if(x=y) return true; else return false;/comp char str100

8、;请输入字符串:str; int i=0,m; while(stri) m=i%2; if(m) int p=i-1,q=0; int j; for(j=0;j(i-1)/2;j+) if(!comp(strq+,strp-) break; /for if(j=(i-1)/2)此字符串对称! else此字符串不对称! /if else(i/2); if(j=i/2) /else五、运行结果1.六、实验体会栈和队列是数据结构里面很重要的两种特殊线性结构,它们的操作不同于线性表,其运算(插入和删除)是受限制的。栈的所有插入和删除操作都限制在表的同一端进行,其最先插入的元素被压在栈的底部,要到所有后插入的元素全部被删除后才能删除。记住了原理,程序就好办了。教师评价优良中及格不及格教师签名日期

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

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