《2022年职工信息管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年职工信息管理系统 .pdf(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 数据结构课程设计报告设计题目职工信息管理系统专业班级姓名学号完成日期名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 37 页 - - - - - - - - - 2 目录1. 问题描述(3)2. 系统设计(3)3. 数据结构与算法描述(5)4. 测试结果与分析(15)5. 总结(20)6. 参考文献(20)附录 程序源代码(20)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
2、- - - - 第 2 页,共 37 页 - - - - - - - - - 3 职工信息管理系统1. 问题描述试设计一个职工信息管理系统。要求可对职工信息进行插入、删除、查找、排序、输出等功能,职工对象包括编号、姓名、性别、出生年月、学历、工作年月、基本工资、电话、家庭住址等等。2. 系统设计2.1 设计目标随着计算机产业的不断发展和信息时代的到来,各个企业和部门对员工的信息管理也已经走上了数字化的阶段,尤其是利用微机对工资的管理已经在各个企业单位起着越来越多的作用。 以前的财会人员完全是靠手写来完成员工的各种记录,每天都忙碌于各种繁多的票据之间,这种工作繁重复杂,容易出错,不易修改,所以使
3、用一个好的管理系统对减轻管理人员的工作量是很有帮助的,也是一个企业发展不可缺少的基础,它的开发应用简单而不失一般性,操作方便, 功能强大,系统化,规范化,自动化,而且经济使用的职工管理系统已经成为了各个企业和部门离不开的电脑软件。本系统实现的操作和功能如下:1)职工信息表的建立:根据职工提供的信息,按单链表的方法建立职工信息表;2)职工信息的添加:根据公司的需要,增加新的职工,必须把职工的基本信息写入职工信息表,方便公司管理;3)职工信息的查询:根据公司需要,查找某一个职工的信息,可以按姓名或编号查找,将都显示职工的全部信息。4)职工信息的修改:根据公司或职工需要,如果信息需要修改,可对职工的
4、人一个信息进行更改。5)职工信息的排序:根据公司需要,可对职工进行排序;6)职工信息的删除:根据公司需要,若职工不在公司工作,可对其信息删除,以及时更新职工信息表;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 37 页 - - - - - - - - - 4 7)职工信息的输出:根据公司需要,若要浏览职工信息,可对职工的全部信息输出,方便观看。2.2 设计思想职工信息表用单链表作为存储结构,且为了查找方便, 职工信息应有序。 为了查找方便,职工的线性表按职工编号有序,并
5、且,为了插入和删除方便,应以链表作为存储结构。通过c+,使系统实现建表、增加信息、删除信息、查找信息、排序、输出等功能,而且提供一个界面来调用各个功能,并使界面尽可能清晰美观。2.3 系统模块划分菜单界面建立职工信息表职工信息的添加职工信息的查询职工信息的排序职工信息的删除职工信息的输出退出职工管理系统职工信息的修改尾插法建立职工信息表插入新的结点按姓名查询按编号查询冒泡排序法实现输出记录结束程序运行按菜单选项无记录删除结点名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共
6、37 页 - - - - - - - - - 5 3. 数据结构与算法描述3.2职工信息表的建立,将一个职工结点按其编号的次序插入有序职工链表的相应位置, 以保持链表的有序性。 基本思想是使用尾插法建立新的结点。建表算法如下描述:/ 用尾插法建立职工链表函数void CreateList(NodePtr& head) / 尾插法建立带头结点的职工链表算法 NodePtr rear; rear=new ListNode; int flag=0;/结束标志置 0 rear=head;/尾指针初始指向头结点 while(flag=0) NodePtr p; p=new ListNode; p-lin
7、k=NULL; cout请输入: ; cout编号姓名性别出生日期学历工作年月职务 基本工资电话地址n; coutp-nump-namep-sexp-birthdayp-educationp-working_day; cinp-postp-base_payp-phonep-addr; rear-link=p;/新结点连接到尾结点之后 rear=p;/尾结点指向新结点 coutflag; filesave(head); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 37
8、页 - - - - - - - - - 6 3.2职工信息的输出void PrintList(NodePtr head) NodePtr p; p=new ListNode; p=head-link;/因为链表带头结点,使p 指向链表开始接点 cout编号姓名性别 出生年月学历工作年月职务基本工资电话地址n; cout-n; while(p!=NULL) coutnum name sex birthday ; couteducation working_day post ; coutbase_pay phone addrlink;/后移一个结点 3.2职工信息的查询,如果结点为空,输出:没有查
9、到要查询的职工;若结点不为空,可按姓名和编号进行查询。void ListFind(NodePtr& head) / 有序职工链表上的查找 NodePtr p; p=new ListNode; p=head-link;/假定职工表带头结点 char num10,name20; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 37 页 - - - - - - - - - 7 int xz; cout=n; cout 1.按编号查询 n; cout 2.按姓名查询 n; cou
10、t=n; coutxz; if(xz=1) coutnum; do if(strcmp(p-num,num)=0) cout编号姓名性别出生年月学历工作年月职务基本工资电话 地址n; cout-n; coutnum name sex birthday ; couteducation working_day post ; coutbase_pay phone addrendl; coutlink; if(p=NULL) cout没有查到要查询的职工!n; while(p!=NULL); if(xz=2) coutname; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
11、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 37 页 - - - - - - - - - 8 do if(strcmp(p-name,name)=0) cout编号姓名性别 出生年月学历工作年月职务基本工资电话地址n; cout-n; coutnum name sex birthday ; couteducation working_day post ; coutbase_pay phone addrendl; coutlink; if(p=NULL) coutlink=head-link; head-link=p; cinp-nump-
12、namep-sexp-birthdayp-educationp-working_day; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 37 页 - - - - - - - - - 9 cinp-postp-base_payp-phonep-addr; 3.2职工信息的修改,先输入职工的姓名,若没有该职工,输出:该系统没有该姓名的职工信息 ,无法修改 ., 若有该职工,则可以修改该职工的任何一个信息;具体算法如下:void Modify(NodePtr& head) /
13、修改职工信息 NodePtr p; p=head-link; char name15;/姓名coutname; while(p) if(strcmp(p-name,name)=0) break; p=p-link; if(p=NULL) cout该系统没有该姓名的职工信息,无法修改 .endl; cout请按任意键继续 .endl; getch(); ListFind(head); else cout- 你现在可以修改此职工的信息了-endl; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
14、 - 第 9 页,共 37 页 - - - - - - - - - 10 /数据域。coutp-num; coutendlp-name; coutendlp-sex; coutendlp-birthday; while(cin.fail() cout请输入正确的年份格式。 p-birthday; coutendlp-education; coutendlp-working_day; coutendlp-post; coutendlp-base_pay; while(cin.fail() cout请输入正确的工资数据。 p-base_pay; 名师资料总结 - - -精品资料欢迎下载 - - -
15、 - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 37 页 - - - - - - - - - 11 coutendlp-phone; coutendlp-addr; coutlink; if(p=NULL) cout该系统还没有储存一个职工,没法进行排序 .endl; coutlink; while(q!=NULL) if(p-base_paybase_pay) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第
16、11 页,共 37 页 - - - - - - - - - 12 swap(p,q); q=q-link; p=p-link; cout排序成功 .num);strcpy(p-num,q-num);strcpy(q-num,num); strcpy(name,p-name);strcpy(p-name,q-name);strcpy(q-name,name); strcpy(sex,p-sex);strcpy(p-sex,q-sex);strcpy(q-sex,sex); strcpy(birthday,p-birthday);strcpy(p-birthday,q-birthday);strc
17、py(q-birthday,birthday); strcpy(education,p-education);strcpy(p-education,q-education);strcpy(q-education,education); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 37 页 - - - - - - - - - 13 strcpy(working_day,p-working_day);strcpy(p-working_day,q-working_day)
18、;strcpy(q-working_day,working_day); strcpy(post,p-post);strcpy(p-post,q-post);strcpy(q-post,post); base_pay=p-base_pay;p-base_pay=q-base_pay;q-base_pay=base_pay; strcpy(phone,p-phone);strcpy(p-phone,q-phone);strcpy(q-phone,phone); strcpy(addr,p-addr);strcpy(p-addr,q-addr);strcpy(q-addr,addr); 3.2职工信
19、息的删除,先输入职工的工号,若结点为空,则输出:没有找到要删除的职工,若结点不为空,输出职工信息,提示真的要删除该职工吗,选择y或 n 可进行操作。具体算法如下:void DelNode(NodePtr& head) NodePtr p,q; p=new ListNode;q=new ListNode; p=head-link;/假定职工信息表带头结点 q=head; char num10; int flag=0; coutnum; do if(strcmp(p-num,num)=0) cout编号姓名性别 出生年月学历工作年月职务基本工资电话地址n; cout-n; coutnum name
20、 sex birthday ; couteducation working_day 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 37 页 - - - - - - - - - 14 post ; coutbase_pay phone addrendl; coutlink; if(p=NULL) coutlink; while(p!=NULL); if(flag=1) coutjx; if(jx=y|jx=Y) q-link=p-link;/删除结点 free(p);/
21、释放被删除的结点空间 cout职工已被删除! n; /return 0; 通过以上算法实现以下菜单模块:printf( 欢迎进入职工信息管理系统n); printf(=n); printf( 1.职工信息表的建立 n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 37 页 - - - - - - - - - 15 printf( 2.职工结点的添加 n); printf( 3.职工结点的查询 n); printf( 4.职工信息的修改 n); printf( 5.
22、职工信息的排序 n); printf( 6.职工结点的删除 n); printf( 7.职工链表的输出 n); printf( 0.退出管理系统 n); printf(=n); printf( 请选择 0-7:); 4. 测试结果与分析(将测试结果抓图说明)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 37 页 - - - - - - - - - 16 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名
23、师精心整理 - - - - - - - 第 16 页,共 37 页 - - - - - - - - - 17 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 37 页 - - - - - - - - - 18 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 37 页 - - - - - - - - - 19 名师资料总结 - - -精品资料欢迎下
24、载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 37 页 - - - - - - - - - 20 5. 总结通过本次课程设计, 我学会了如何工程化的编写以下系统软件。首先,要对软件的需求有一个比较明确的认识,然后系统分析与系统设计, 最后是代码设计与调试。软件实现上,设计了清楚的界面,并采用功能模块的设计思想。在这个过程中,确实付出了很对努力,流了很多汗水,比如,要思考整个设计过程,要一点一点的改正代码中出现的错误等等,但现在想想,都不值得一提,因为从中的收获比什么都重要。同时,我也知道,我的设计还存在不
25、足之处,我会坚持不懈!继续努力!6. 参考文献 ( 包括书籍、论文、网络资料等) C+buider 实例入门陈雪飞中国青年出版社C+buider 彻底研究陈灿煌中国铁路出版社C+ 面向对象程序设计(第6 版) 清华出版社网络上一些代码资料附录程序源代码/ 主控菜单处理测试程序#include #include #include #include #include #include using namespace std; struct ListNode/职工结点类型 char num10;/编号 char name15;/姓名 char sex5;/性别 char birthday50;/出生
26、年月名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 37 页 - - - - - - - - - 21 char education50;/学历 char working_day50;/工作年月 char post50;/职务 int base_pay;/基本工资 char phone50;/电话 char addr50;/地址 ListNode *link;/结点指针域; typedef ListNode *NodePtr; NodePtr load();/导入信息到
27、系统void filesave(NodePtr head);/将链表中的信息保存到文件里int menu_select(); void CreateList(NodePtr& head); void PrintList(NodePtr head); void ListFind(NodePtr& head); void InsertNode(NodePtr& head); void DelNode(NodePtr& head); /void DomoDify(NodePtr& head); void Modify(NodePtr &head); void Sort(NodePtr head);
28、void swap(NodePtr &p,NodePtr &q);/交换两个节点里所含的信息/void Disp(NodePtr& base_pay); / 主函数int main() NodePtr head,p,ptr; / int base_pay; head=new ListNode;/申请头结点 head=load(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 37 页 - - - - - - - - - 22 /int n; /char tp100;
29、 for(;) switch(menu_select() case 1:cout*n; cout* 职工信息表的建立 *n; cout*n; CreateList(head);break; case 2:cout*n; cout* 职工信息的添加 *n; cout编号姓名性别出生日期学历工作年月职务 基本工资电话地址n; cout*n; InsertNode(head); filesave(head); break; case 3:cout*n; cout* 职工信息的查询 *n; cout*n; ListFind(head); break; case 4:cout*n; cout* 职工信息
30、的修改 *n; cout*n; / DomoDify(head);/修改结点 Modify(head); break; case 5:cout*n; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 37 页 - - - - - - - - - 23 /cout* 按工资排序 *n; cout*n; Sort(head);/按工资排序 /PrintList(head); /Disp(tp,n); break; case 6:cout*n; cout* 职工信息的删除 *n
31、; cout*n; DelNode(head);/删除结点 filesave(head); break; case 7:cout*n; cout* 职工信息表的输出 *n; cout*n; PrintList(head); break; case 0:coutlink; FILE *fp; int num=0; if(fp=fopen(file.txt,w)=NULL) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 37 页 - - - - - - - - - 24
32、cout新建文件失败 .endl; cout请按任意键退出系统 .link; p=head-link; char c255; sprintf(c, 文件中 %d个信息如下 :n, num); fputs(c,fp); while(p!=NULL) fprintf(fp,%s,p-num);fprintf(fp,t); fprintf(fp,%s,p-name);fprintf(fp,t); fprintf(fp,%s,p-sex);fprintf(fp,t); fprintf(fp,%s,p-birthday);fprintf(fp,t); fprintf(fp,%s,p-education)
33、;fprintf(fp,t); fprintf(fp,%s,p-working_day);fprintf(fp,t); fprintf(fp,%s,p-post);fprintf(fp,t); fprintf(fp,%d,p-base_pay);fprintf(fp,t); fprintf(fp,%s,p-phone);fprintf(fp,t); fprintf(fp,%s,p-addr);fprintf(fp,t); fprintf(fp,n); p=p-link; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整
34、理 - - - - - - - 第 24 页,共 37 页 - - - - - - - - - 25 fclose(fp); NodePtr load() NodePtr p,q,head; head=new ListNode; head-link=NULL; q=head; char base_pay10; /p=new ListNode; int num,i=0; FILE *fp; if(fp=fopen(file.txt,r)=NULL) cout 文件尚未存储数据 . !n; /exit(1); return head; char c255; fgets(c,256,fp); ssc
35、anf(c, 文件中 %d个信息如下 :n, &num); while(inum); fscanf(fp,%s,p-name); fscanf(fp,%s,p-sex); fscanf(fp,%s,p-birthday); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 37 页 - - - - - - - - - 26 fscanf(fp,%s,p-education); fscanf(fp,%s,p-working_day); fscanf(fp,%s,p-post
36、); / fscanf(fp,%d,p-base_pay); fscanf(fp,%s,base_pay); p-base_pay=atoi(base_pay); fscanf(fp,%s,p-phone); fscanf(fp,%s,p-addr); p-link=NULL; q-link=p; q=p; i+; fclose(fp); return head; / 菜单选择函数程序int menu_select() int sn; printf( 欢迎进入职工信息管理系统n); printf(=n); printf( 1.职工信息表的建立 n); printf( 2.职工结点的添加 n);
37、 printf( 3.职工结点的查询 n); printf( 4.职工信息的修改 n); printf( 5.职工信息的排序 n); printf( 6.职工结点的删除 n); printf( 7.职工链表的输出 n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 26 页,共 37 页 - - - - - - - - - 27 printf( 0.退出管理系统 n); printf(=n); printf( 请选择 0-7:); for(;) cinsn; if(sn7) co
38、utlink=NULL; cout请输入: ; cout编号姓名性别出生日期学历工作年月职务 基本工资电话地址n; coutp-nump-namep-sexp-birthdayp-educationp-working_d名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 37 页 - - - - - - - - - 28 ay; cinp-postp-base_payp-phonep-addr; rear-link=p;/新结点连接到尾结点之后 rear=p;/尾结点指向新
39、结点 coutflag; filesave(head); / 职工链表的输出函数void PrintList(NodePtr head) NodePtr p; p=new ListNode; p=head-link;/因为链表带头结点,使p 指向链表开始接点 cout编号姓名性别 出生年月学历工作年月职务 基本工资电话地址n; cout-n; while(p!=NULL) coutnum name sex birthday ; couteducation working_day post ; coutbase_pay phone addrlink;/后移一个结点 名师资料总结 - - -精品资
40、料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 28 页,共 37 页 - - - - - - - - - 29 / 有序职工链表的查找void ListFind(NodePtr& head) / 有序职工链表上的查找 NodePtr p; p=new ListNode; p=head-link;/假定职工表带头结点 char num10,name20; int xz; cout=n; cout 1.按编号查询 n; cout 2.按姓名查询 n; cout=n; coutxz; if(xz=1) coutnum
41、; do if(strcmp(p-num,num)=0) cout编号姓名性别出生年月学历工作年月职务 基本工资电话 地址n; cout-n; coutnum name sex birthday ; couteducation working_day post ; coutbase_pay phone addrendl; coutlink; if(p=NULL) cout没有查到要查询的职工! n; while(p!=NULL); if(xz=2) coutname; do if(strcmp(p-name,name)=0) cout编号姓名性别出生年月学历工作年月职务 基本工资电话地址n;
42、cout-n; coutnum name sex birthday ; couteducation working_day post ; coutbase_pay phone addrendl; coutlink; if(p=NULL) coutlink=head-link; head-link=p; cinp-nump-namep-sexp-birthdayp-educationp-working_day; cinp-postp-base_payp-phonep-addr; / 职工信息的修改void Modify(NodePtr& head) /修改职工信息 NodePtr p; p=he
43、ad-link; char name15;/姓名 coutname; while(p) if(strcmp(p-name,name)=0) break; p=p-link; if(p=NULL) cout该系统没有该姓名的职工信息, 无法修改 .endl; cout请按任意键继续 .endl; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 31 页,共 37 页 - - - - - - - - - 32 getch(); ListFind(head); else cout-你现在可
44、以修改此职工的信息了-endl; / 数据域。coutp-num; coutendlp-name; coutendlp-sex; coutendlp-birthday; while(cin.fail() cout 请输入正确的年份格式。 p-birthday; coutendlp-education; coutendlp-working_day; coutendlp-post; coutendlp-base_pay; while(cin.fail() cout 请输入正确的工资数据。 p-base_pay; coutendlp-phone; coutendlp-addr; coutlink;
45、if(p=NULL) cout该系统还没有储存一个职工, 没法进行排序 .endl; coutlink; while(q!=NULL) if(p-base_paybase_pay) swap(p,q); q=q-link; p=p-link; cout排序成功 .num);strcpy(p-num,q-num);strcpy(q-num,num); strcpy(name,p-name);strcpy(p-name,q-name);strcpy(q-name,name); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心
46、整理 - - - - - - - 第 34 页,共 37 页 - - - - - - - - - 35 strcpy(sex,p-sex);strcpy(p-sex,q-sex);strcpy(q-sex,sex); strcpy(birthday,p-birthday);strcpy(p-birthday,q-birthday);strcpy(q-birthday,birthday); strcpy(education,p-education);strcpy(p-education,q-education);strcpy(q-education,education); strcpy(work
47、ing_day,p-working_day);strcpy(p-working_day,q-working_day);strcpy(q-working_day,working_day); strcpy(post,p-post);strcpy(p-post,q-post);strcpy(q-post,post); base_pay=p-base_pay;p-base_pay=q-base_pay;q-base_pay=base_pay; strcpy(phone,p-phone);strcpy(p-phone,q-phone);strcpy(q-phone,phone); strcpy(addr
48、,p-addr);strcpy(p-addr,q-addr);strcpy(q-addr,addr); / 职工结点的删除void DelNode(NodePtr& head) NodePtr p,q; p=new ListNode;q=new ListNode; p=head-link;/假定职工信息表带头结点 q=head; char num10; int flag=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 35 页,共 37 页 - - - - - - - - -
49、36 coutnum; do if(strcmp(p-num,num)=0) cout编号姓名性别 出生年月学历工作年月职务 基本工资电话地址n; cout-n; coutnum name sex birthday ; couteducation working_day post ; coutbase_pay phone addrendl; coutlink; if(p=NULL) coutlink; while(p!=NULL); if(flag=1) coutjx; if(jx=y|jx=Y) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 36 页,共 37 页 - - - - - - - - - 37 q-link=p-link;/删除结点 free(p);/释放被删除的结点空间 cout职工已被删除! n; /return 0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 37 页,共 37 页 - - - - - - - - -
限制150内