柴伦洋作业数据结构二.doc

柴伦洋作业数据结构二.doc

ID:51908045

大小:156.50 KB

页数:8页

时间:2020-03-18

柴伦洋作业数据结构二.doc_第1页
柴伦洋作业数据结构二.doc_第2页
柴伦洋作业数据结构二.doc_第3页
柴伦洋作业数据结构二.doc_第4页
柴伦洋作业数据结构二.doc_第5页
资源描述:

《柴伦洋作业数据结构二.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、数据结构试验(二)栈和队列1、实验目的(1)熟练掌握栈的逻辑结构和操作规则,能在相应的实际问题中正确选用该结构。(2)熟练掌握顺序栈的实现方法,存储结构和基本运算的实现算法,注意栈空盒满的判断条件及它们的描述方法。(3)熟练掌握队列的逻辑结构和操作规范,能在相应的实际问题中正确选用该结构。(4)掌握循环队列存储结构的实现,熟练掌握各种队列基本运算的实现。2、实验要求(1)顺序栈的插入、删除,栈顶数据元素的读取。(2)循环队列的插入、删除。3、实验内容实验①实现顺序栈各种基本运算(1)以顺序栈作为存储结构;(2)实现顺序栈的入栈运算;(3)实现顺序栈的出栈运算;(4)实现顺

2、序栈栈顶元素读取。实验实现循环队列基本运算(1)以循环队列为存储结构;(2)实现循环队列的建立;(3)实现循环队列的入队运算;(4)实现循环队列的出队运算。4.实验步骤实验源程序#include#include#defineMAXNUM20#defineElemTypeint/*定义顺序栈的存储结构*/typedefstruct{ElemTypestack[MAXNUM];inttop;}SqStack;/*初始化顺序栈*/voidInitStack(SqStack*p){if(!p)printf("内存分配失败!");p->top=

3、-1;}/*入栈*/voidPush(SqStack*p,ElemTypex){ if(p->toptop=p->top+1;      p->stack[p->top]=x;   }   else      printf("Overflow!"); } /*出栈*/ ElemType Pop(SqStack *p) { ElemType x;   if(p->top>=0)   {   x=p->stack[p->top];       printf("以前的栈顶数据元素%d已经被删除!",p->stack[p->top])

4、;       p->top=p->top-1;       return(x);   }   else   {  printf("Underflow!");      return(0);   } } /*获取栈顶元素*/ ElemType GetTop(SqStack *p) { ElemType x;   if(p->top>=0)   {  x=p->stack[p->top];      printf("栈顶元素喂:%d",x);      return(x);   }   else   {  printf("Underflow!");     

5、 return(0);   } } /*遍历顺序栈*/ void OutStack(SqStack *p) { int i;   printf("");   if(p->top<0)      printf("这是一个空栈!");      printf("");   for(i=p->top;i>=0;i--)            printf("第%d个数据元素是:%6d",i,p->stack[i]); } /*置空顺序栈*/ void setEmpty(SqStack *p) { p->top=-1;} /*主函数*/ void main() { S

6、qStack *q;   int cord;ElemType a;         printf("第一次使用必须初始化!");         do{         printf("");         printf("----------主菜单-----------");         printf("   1   初始化顺序栈   ");         printf("   2   插入一个元素   ");         printf("   3   删除栈顶元素   ");         printf("  

7、 4   取栈顶元素     ");         printf("   5   置空顺序栈     ");         printf("   6   结束程序运行   ");         printf("-----------------------------");        printf("清输入您的选择(1,2,3,4,5,6)");         scanf("%d",&cord);         printf("");         switch(cord)   

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

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

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