实验报告一链接栈与顺序队列的基本运算.doc

实验报告一链接栈与顺序队列的基本运算.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验报告一链接栈与顺序队列的基本运算.doc

课程实验报告 题目链接栈与顺序队列的基本运算 班级2010信息与计算科学班 姓名笑嘻嘻小 学号笑嘻嘻 完成日期笑嘻嘻小 (-)实验要求:编程实现链接栈与顺序队列的基本运算。 链接栈:插入元素,删除栈顶元素,读出栈顶元素,判断栈是否为空。 顺序队列:队列的插入,队列的删除,读队头元素,判断队列是否为空。 实验目的:熟练掌握链接栈,顺序队列的基本运算。 链接栈的结点结构与单链表的结点结构完全相同,即,将链接栈组织成单链表形 式。注意,链接栈中指针的方向是从栈顶指向栈底。 顺序队列是用顺序存储方法存储的队列。分配一片连续的存储空间,存放队列中 的表目,并用两个变量分别指向队头和队尾。 ㈡I.链接栈的基本运算 I. 1 实验代码:#includestdio. h #includemalloc. h #define LEN sizeof (struct node) ^define NULL 0 struct node {int info; struct node*!ink; }; struct linklist {struct nodc*T; }; //*主函数*// void main() {int x; struct linklist L; I,. T= (struct node*)mal 1 oc (I.EN); L. T二NULL; struct linklist push (struct linklist L, int x); struct linklist pop (struct linklist L); int top (struct linklist L); int sempty (struct linklist L) ; /*函数声明*/ for(x=10;x=50;x=x+10) L=push(L, x) ; /*向栈顶插入五个元素 10,20,30,40,50*/ printfC向栈顶插入五个元素后,n); printf (”栈顶元素为%(10 \n”,L. T-〉info); for(x二1;x=3;x++) L=pop(L); printf (n连续删除链接栈3个元素后,n); printf C栈顶元素为%d。\n,L. T-info); x=top (L); printf(”读出的栈顶元素为%(1。\n”,x); if (sempty (L)) printf (”调用 sempty (L)函数,栈已空。\n); else printf(调用 sempty (L)函数,栈不空。\n);} /*栈的插入函数*/ struct linklist push (struct linklist L,int x) {struct node*p; p=(struct node*)malloc (LEN); p-info=x; p-link=L. T; L. T=p; return (L); } /*栈的删除函数*/ struct linklist pop (struct linklist L) {struct node*p; if (L. T=NULL)printf (’f栈空。\n’f); else {p二L. T; L. T=L. T-〉link; free (p) ;} return (L);} /*读出栈顶元素*/ int top (struct linklist L) {if (L. T==NULL) {printf (n栈空。\n); return 0;} else return(L. T-〉info);} /*判断栈是否为空*/ int sempty(struct linklist L) {if (L. T==NULL)return(1); else return(0) ;} 1.2实验结果: 3调试过程及其分析 T始终指向的是栈顶元素,因此,T总是指向新插入的结点。 在进行栈的删除,读栈顶元素,判断栈是否为空运算时,首先要判断栈是否为 空。 TT.顺序队列的基本运算 1 实验代码:#includestdio. h ttdefine mO 20 struct queue {int q[mO+l]; int f,r;}; //*主函数*// int main() {struct queue qu,*p; int x; p=qu; qu. f=l ; qu. r=l; void enq (struct queue*p,int x); void dcq (struct qucuc*p); int front (struct queue qu); int qempty (struct queue qu) ; /*函数声明氺/ for(x:10;x〈=50;x二x+10) enq (p,x); printf (f向顺序队

文档评论(0)

ggkkppp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档