实验书上的第一个习题:学生管理系统(我自己定的:有学号,姓名,性别,年龄)。主要练习链表操作,总结了一下:单向链表的基本操作主要有:初始化,插入,删除,查找,排序,储存,读入,分割,合并,后两个在这个题中就没有必要了。
很萎的分了一下模块,其实是大部分函数是在一个cpp中写完再把他分到其他cpp文件中的~~~
程序主要有几个功能:也就是上面的插入,删除,查找,排序,储存,读入,所以就分了相应的模块。
1.main.cpp
2.储存链到文件,还原链到内存函数.cpp:主要用fprintf,fscanf,用于格式化的文件。写了很长时间,总是出错,郁闷,特别是读入这个函数,想了半天,最后只搞了个从文件开头读取,从链表末尾开始写入,因为我想的是要在下一次循环时保留上次循环时建立新链的地址。不知还有什么好方法。
3.冒泡排序法(用于单向链表).cpp:也很不容易编出来,编的时候才想到还有编一些配套的函数才行,比如exchange(...,...)交换两个节点的数据域,liani(int i)取出链表中第i个节点的地址,特别是liani()低效的,唉。我用的是for(...;...;...)沿着指针逐个往后跳。。。
4.查询函数.cpp:很无聊的搞了四种mode,重复劳动了,下次再试一下范围搜索怎么编。。。
5.菜单函数.cpp:case套case
6增加链,删除链,显示所有链函数.cpp:模仿书上的简化了一下就打上去了