1 / 6
文档名称:

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

格式:doc   大小:104KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:1136365664 2017/12/11 文件大小:104 KB

下载得到文件列表

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

文档介绍

文档介绍:课程实验报告
题目链接栈与顺序队列的基本运算
班级 2010信息与计算科学班姓名笑嘻嘻小学号笑嘻嘻
完成日期笑嘻嘻小
㈠实验要求: 编程实现链接栈与顺序队列的基本运算。
链接栈:插入元素,删除栈顶元素,读出栈顶元素,判断栈是否为空。
顺序队列:队列的插入,队列的删除,读队头元素,判断队列是否为空。
实验目的:熟练掌握链接栈,顺序队列的基本运算。
链接栈的结点结构与单链表的结点结构完全相同,即,将链接栈组织成单链表形式。注意,链接栈中指针的方向是从栈顶指向栈底。
顺序队列是用顺序存储方法存储的队列。分配一片连续的存储空间,存放队列中的表目,并用两个变量分别指向队头和队尾。

:#include<>
#include<>
#define LEN sizeof(struct node)
#define NULL 0
struct node
{int info;
struct node*link;
};
struct linklist
{struct node*T;
};
//*主函数*//
void main()
{int x;
struct linklist L;
=(struct node*)malloc(LEN);
=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*/
printf("向栈顶插入五个元素后,");
printf("栈顶元素为%d。\n",->info);
for(x=1;x<=3;x++)
L=pop(L);
printf("连续删除链接栈3个元素后,");
printf("栈顶元素为%d。\n",->info);
x=top(L);
printf("读出的栈顶元素为%d。\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=;
=p;
return (L); }
/*栈的删除函数*/
struct linklist pop(struct linklist L)
{struct node*p;
if(==NULL)printf("栈空。\n");
else {p=;=->link;free(p);}
return (L);}
/*读出栈顶元素*