数据构造实验报告
-
26
. z.
- 。其中各个函数的功能说明如下:
void FunctionList():说明系统功能。
void DispList(LNode *L):输出全部员工信息。
void DestroyList(LNode *&L):释放单链表并删除职工文件中的全部记录。
bool CreateList(LNode *&L):将员工信息从数据文件中读取出来并建立单链表
数据构造实验报告
-
4
. z.
- --
- . -word资料-
L。
void FDispList(LNode *L):*t中。
bool InsertEmp(LNode *&L,emp e):新建员工信息记录。
LNode *sortList(LNode *L,int kind):按编号no或部门号depno或工资数salary对所有职工记录进展递增排序。
main():首先从数据文件读入数据,再采用尾插法建立单链表,再根据用户输入的信息完成相应的功能。
工程程序构造
单链表递增快速排序sortList()算法设计
输入:单链表L,排序关键字kind
输出:L
过程如下:
当单链表多于一个元素时调用mergeSort函数
置p=L; q=L; pre=NULL;
p!=NULL&&q->ne*t!=NULL时循环
q=q->ne*t->ne*t;
pre=p;
p=p->ne*t;
数据构造实验报告
-
26
. z.
- --
- . -word资料-
置pre=NULL;
此时可以得到一个小于key的链表和大于等于key的链表;由此递归可以对两个链表分别进展快速排序:
LNode *lhalf=mergeSort(L,kind);
LNode *rhalf=mergeSort(p,kind);
调用LNode * merge(LNode *lh, LNode *rh,int kind)函数可将左右链表起来。
新建员工信息InsertEmp()函数设计
输入:单链表L,员工信息e
输出:添加是否成功
过程如下:
P指向单链表最后一个数据节点;
创立s节点;
令s->data=e;
s->ne*t=p->ne*t;
p->ne*t=s;
员工信息存档FDispList()函数设计
输入:单链表L
输出:
过程如下:
先清空原有数据文件中的内容,在将整个单链表输出到数据文件中
实验数据和实验结果分析
:
实验结果如图所示。
通过直观验证,实验结果是正确的。
1〕查看职员信息:
实验结果-1
2〕新增成员信息并查看:
实验结果-2
3〕对数据排序〔以按部门号为例〕:
实验结果-3
4〕数据存档〔图为存档完成后的数据文件内容〕:
数据构造实验报告
-
6
. z.
- --
- .
数据结构实验报告 来自淘豆网www.taodocs.com转载请标明出处.