收藏 分享(赏)

数据结构-学生管理系统.doc

上传人:tkhy51908 文档编号:6213500 上传时间:2019-04-02 格式:DOC 页数:18 大小:174.50KB
下载 相关 举报
数据结构-学生管理系统.doc_第1页
第1页 / 共18页
数据结构-学生管理系统.doc_第2页
第2页 / 共18页
数据结构-学生管理系统.doc_第3页
第3页 / 共18页
数据结构-学生管理系统.doc_第4页
第4页 / 共18页
数据结构-学生管理系统.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、太 原 工 业 学 院数据结构实 验 报告院(系) 计算机工程系 实验课程 数据结构 实验教师 数据结构课程组 2015年4月4日目录实验一、线性表 1一、实验类型 1二、实验目的与任务 1三、预习要求 1四、实验基本原理 1五、实验内容 2六、实验步骤 2实验二、 栈和队列 5一、实验类型 5二、实验目的与任务 5三、预习要求 5四、实验基本原理 5五、实验内容 6六、实验步骤 6实验三、树的应用 9一、实验类型 9二、实验目的与任务 9三、预习要求 9四、实验基本原理 9五、实验内容 10六、实验步骤 10实验四、图 12一、实验类型 12二、实验目的与任务 12三、预习要求 12四、实验

2、基本原理 12五、实验内容 13六、实验步骤 13实验五、查找排序 17一、实验类型 17二、实验目的与任务 17三、预习要求 17四、实验基本原理 17五、实验内容 17六、实验步骤 18数据结构实验报告实验题目: 设计学生信息管理系统 姓名 学号: 班级: 系名: 计算机工程 专业 计算机科学有技术 指导老师: 刘海静 实验时间: 2016年4月4日 实验地点: 【实验概述】一 .实验目的及要求目的:1熟练掌握线性表的基本运算。2掌握顺序表和单链表结构上的插入和删除算法。3了解循环链表、双(循环)链表的结构特点和在其上施加的插入、删除等操 作。要求:预习并掌握线性表的逻辑结构特点、顺序存储

3、结构、链式存储结构、顺序表的结构体类型定义、单链表的结构体类型定义、在两种存储结构上的各种基本操作的实现算法。二实验原理1、线性表的逻辑结构特点:线性表是n个数据元素的有限序列,记为: L=(a 1,a2, ,an)。数据元素之间的关系是:ai-1领先于a i,a i领先于a i+1。称a i-1是 ai的直接前驱元素;a i+1是a i的直接后继元素。除a 1外,每个元素有且仅有一个直接前驱元素,除a n外,每个元素有且仅有一个直接后继元素。注意:数据元素的类型可以是基本数据类型,也可以是结构体等自定义类型。2、线性表的基本操作有4类:结构初始化、结构销毁、引用型操作、加工型操作。3、线性表

4、的顺序存储结构:用一组地址连续的存储单元依次存放线性表中的数据元素。顺序存储结构线性表的静态分配和动态分配空间区别。4类基本操作在顺序存储结构下的算法实现。4、线性表的链式存储结构:用一组地址任意的存储单元存放线性表中的数据元素。以元素( 数据元素的映象) + 指针(指示后继元素存储位置 ) = 结点 。5、线性表的链式存储结构有4种:单链表;单循环链表;双链表、双循环链表。重点学习单链表,其他几种是单链表的变形。6、带头结点的单链表结构体描述。4类基本操作在单链表上的算法实现。三 .实验环境(使用的软件)VC+6.0【实验内容】1.实验算法设计设计一个学生信息管理系统,实现对学生信息的以下操

5、作:1、以线性表的顺序存储结构创建学生信息顺序表。2、以线性表的链式存储结构(单链表)创建学生信息单链表。3、在这两种存储结构上实现学生数据的插入、删除和按学号查找的算法。2.实验过程(源代码及描述、调试过程及分析)第一,启动VC+6.0,创建一个名为“test1”的空白工程。注意存放路径。第二,在“test1”工程下,创建一个名为“xsglxt1”的C+源程序文件。第三,在“xsglxt1.cpp”中进行源程序编辑。参考代码:1、 预处理命令行;#include#include#includeusing namespace std;#define TRUE 1#define OK 1#def

6、ine ERROR -1#define FALSE -1 #define OVERFLOW -22、 顺序表结构体类型定义;typedef int Status;typedef structchar NO10;char name10;ElemType;const int LIST_INIT_SIZE=100;typedef structElemType *elem;int length;int listsize;Sqlist;3、 顺序表结构初始化;Status initlist_sq(Sqlist if(!L.elem) exit(OVERFLOW);L.length=0;L.listsiz

7、e=LIST_INIT_SIZE;return OK;4、 在顺序表中输入学生信息;void listcreate_sq(Sqlist for(int i=1;iL.elemi-1.NO;cinL.elemi-1.name;L.length=n;5、 在顺序表中按照学号进行查找;int locate_sq(Sqlist L, char * e)int i=1;while(iL.length +1) return ERROR;if(L.length =L.listsize ) exit(OVERFLOW);ElemType *p,*q;p=q=while(q=p)*(q+1)=*q;q-;*p=

8、e;L.length +;return OK;7、 在顺序表中删除一个已有学生的信息;Status deletelist_sq(Sqlist if(L.length =0 ) return ERROR;ElemType *p,*q;p=q=e=*p;while(ppos;scanf(“%s%s“,stu.NO,stu.name);insertlist_sq(L,pos,stu);printlist_sq(L);couti;deletelist_sq(L,i,e2);printlist_sq(L);cout#include#define OK 1#define ERROR 0#define TR

9、UE 1#define FALSE 0using namespace std;typedef int Status;typedef int ElemType;typedef struct LNodeElemType data;struct LNode *next;LNode,*LinkList;Status listEmpty_L(LinkList L)if(L-next =NULL)return TRUE;elsereturn FALSE;int ListLength_L(LinkList L)int i=0;LNode *p=L;while(p-next)p=p-next;i+;retur

10、n i;void GetElem_L_1(LinkList L,int i,ElemType j+;e=p-data;Status GetElem_L_2(LinkList L,int i,ElemType LinkList p=L-next ;while(pj+;if(!p|ji)return ERROR;e=p-data ;return OK;Status ListInsert_L(LinkList LinkList p=L;while(pj+;if(!p|ji-1) coutdata=e;s-next=p-next ;p-next =s;return OK;Status ListDele

11、te_L(LinkList LinkList q,p=L;while(p-nextj+;if(!(p-next )|ji-1)coutnext ;e=q-data ;p-next =q-next ;delete q;return OK;Status ListClear_L(LinkList while(L-next )p=L-next ;L-next =p-next ;delete p;return OK;Status ListCreate_L_head(LinkList L-next =NULL;for(int i=1;ip-data ;p-next =L-next ;L-next =p;r

12、eturn OK;Status ListCreate_L_tail(LinkList L=new LNode;L-next =NULL;LinkList p,s=L;for(int i=1;ip-data ;p-next =s-next ;s-next =p;s=p;return OK;void ListPrint_L(LinkList L)LinkList p=L-next ;coutdata next ;coutn;/ListCreate_L_head(L,n);/正y位?序创洹?建带?头? 结点?的?单蹋?链?表括?ListCreate_L_tail(L,n);ListPrint_L(L);couti;GetElem_L_1(L,i,e);coutj;coute1;ListInsert_L(L,j,e1);coutk;ListDelete_L(L,k,e2);cout“被删除的学生姓名为:“e2endl;cout“删除后:“;ListPrint_L(L);ListClear_L(L);cout“清空后:“;ListPrint_L(L);3.结果与结论(实验结果截图、结论总结)Test1Test2

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > 数据结构与算法

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报