文档详情

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

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