1 / 19
文档名称:

数据结构(栈及队列)实验报告 C语言版.docx

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

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

分享

预览

数据结构(栈及队列)实验报告 C语言版.docx

上传人:luyinyzhi 2017/2/19 文件大小:114 KB

下载得到文件列表

数据结构(栈及队列)实验报告 C语言版.docx

文档介绍

文档介绍:XXXX 学院计算机课程实验报告(201X ~201X 年度第 X学期) 专业课程数据结构班级组别教师琼州学院电子信息工程学院制-1- 实验报告填写说明 1、填写一律用钢笔或圆珠笔填写,要求字迹工整,条理清晰。 2、“实验题目”可以填写章节名称或用文字表述。 3、“实验目的”要逐条列出, “实验内容”以简练的文字进行概括。 4、“附注”处填写实验注意事项或调试过程,以及实验中出现的异常情况和解决方法。 5、“教师批阅”处有课任老师填写评语,给出实验成绩,并作为平时成绩,参与期末成绩总评。 6、封面和实验报告填写说明正反面打印在一张纸上。 201X 年 XX月 XX日-2- 实验项目:栈及队列的链式和线性存储以及相关操作实现实验目的: 1. 掌握数据结构中栈及队列的链式和线性存储结构操作; 2. 了解数据结构中栈及队列的基本操作原理 3. 掌握 C 语言中基本程序设计的方法. 4. 掌握基本测试方法。实验仪器: 计算机、 C 语言版数据结构相关实验题集、编写程序软件实验规划:(包括函数说明、公共变量说明、测试说明等) 公共变量声明: #include <> #include <> #define OK1 #define ERROR 0 函数说明: /****************************** Ⅰ、栈的链式存储以及相关操作实现*******************************/ typedef struct stack { int data; struct TYPE *next; } ElemType; 栈的初始化: 1. ElemType* InitStack() ; 进栈: 2. int Push(ElemType *head,int e); 出栈: 3. int Pop(ElemType *head,int *e) ; 显示: 4. int DisplayStack(ElemType *Head) ; 返回顶元素: 5. int Gettop(ElemType *head); -3- 小组各成员工作分配情况表: XXX :统一定义常量,结构体模版,函数格式(参数、返回值);讲解编写流程,检查编写函数。 XXX : 编写测试及美化程序 XXX : 编写出栈函数 XXX : 编写初始化及取顶函数。 XXX : 编写进栈函数。 XXX : 编写打印栈顶函数。实验内容及步骤(或程序清单): 内容:此栈采用链式存储,实现了建栈、进栈、出栈、打印等功能。栈链表实现: /*************************** Time : XX- XX -201 X Made : XXXXX use : Stack by chain ****************************/ #include <> #include <> #define OK1 #define ERROR 0 typedef struct stack //Define a elemtype for data { int data; struct TYPE *next; } ElemType; ElemType* InitStack() // Toi nitialize an empty stack { ElemType *S; do{ S= (ElemType *)malloc(sizeof(ElemType)); }while(!S); S->data=0; S->next=NULL; printf("Init OK !\n"); return S; } -4- int Push(ElemType *head,int e) { ElemType *p=NULL,*q = NULL; p= head; do{ q= (ElemType *)malloc(sizeof(ElemType)); }while(!q); q->next = p->next; p->next = q; q->data = e; return OK; } int Pop(ElemType *head,int *e) { ElemType *p, *q= NULL; p= head; if(head->next == NULL) { printf("The Stack is empty !\n"); return ERROR; }q= head->next; p->next = q->next; *e= q->data; free(q); return OK; } int DisplayStack(ElemType *Head) //Just for text { ElemType *p= NU