1 / 22
文档名称:

数据结构实验总结及源代码.doc

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

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

分享

预览

数据结构实验总结及源代码.doc

上传人:vr42ap6 2017/4/23 文件大小:124 KB

下载得到文件列表

数据结构实验总结及源代码.doc

文档介绍

文档介绍:实验 1 线性表 1问题描述: 使用线性表实现一个通讯录,通讯录内容有:学号、姓名、电话号码。使其完成以下功能。(1)建立一个通讯录(2)插入一个数据元素(3)删除一个元素,返回其值(4)结束程序请写出基本的算法思想,以及源程序代码。实验 2 括号匹配问题描述编写一程序判断从键盘输入的子符串括号是否匹配。假设需判断的括号只有“(”,“)”,“[”,“]”四种。实验 4病人看病模拟程序【问题描述】编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队的过程中,主要重复两件事: (1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。(2)护士从等待队列中取出下一位病人的病历,该病人进入诊室就诊。要求模拟病人等待就诊这一过程。程序采用菜单方式, 其选项及功能说明如下: (1)排队――输入排队病人的病历号,加入病人排队队列中。(2)就诊――病人排队队列中最前面的病人就诊, 并将其从队列中删除; (3) 查看排队――从对首到队尾列出所有的排队病人的病历号; (4)不再排队,余下一次就诊――从对首到队尾列出所有的排队病人的病历号,并退出运行; (5)下班――退出运行; 线性表实验源代码#include <> #include <> #include <> #include <> //------------------------------------------------------------------- - struct ElemType //数据元素的类型{ int numb; char name[20]; long tel; }; const int MAXSIZE=100; //数组的容量 class Sqlist { private: ElemType elem[MAXSIZE]; //结构体的数组 int length; public: Sqlist( void); ~Sqlist(){ }; void SetData(); //建立通讯录; void Insert( int i, ElemType e); // 在位置 i, 插入一条记录 ElemType Delet(int i); //删除位置 i的记录 void PrintOut(); //打印结果}; //------------------------------------------------------------- //Sqlist::Sqlist( ){ length=0 ;} //Sqlist::Sqlist( ){ length=0 ;} Sqlist::Sqlist(){length=0;} void Sqlist::SetData( ) //初步建立一个通讯录{ cout<<"\n 输入人数 length="; cin>>length; for(int i=0;i<length;i++) { cout<<"\n 输入学号: "; cin>>elem[i].numb; cout<<"\n 输入姓名: "; cin>> elem[i].name; cout<<"\n 输入电话号: ="; cin>>elem[i].tel; }} void Sqlist::Insert( int i, ElemType e) { int j; i--; if(i<0||i>length) cout<< "i Error!"<<endl; else { for(j=length+1; j>i; j--) elem[j]=elem[j-1]; // for(j=length; j>i; j--) elem[j]=elem[j-1]; elem[i]=e; length++; }} ElemType Sqlist::Delet(int i) {ElemType x; int j; i--; if(i<0||i>length-1) { cout<< "i Error!"<<endl; =-1;} else { x=elem[i]; for(j=i; j<length-1; j++) elem[j]=elem[j+1]; //for(j=i; j<length; j++) elem[j]=elem[j+1]; length--; } return x;} void Sqlist::PrintOut() //输出{ cout<<"\n 通讯录总人数: "<<length; cout<<"\n PrintOut Data:\n"; cout<<setw(16)<<" 学号"<< setw(20)<<" 姓名"<<setw(20)<<" 电话号"<<endl; ; for(int k