学习数据结构,寻找优秀代码参考学习(C++),能够实现功能即可,发邮箱[email protected]

一 线性表的顺序存储结构
1.输入一组整型元素序列,建立顺序表。
2.实现该顺序表的遍历。
3.在该顺序表中进行顺序查找某一元素,查找成功返回1,否则返回0。
4.判断该顺序表中元素是否对称,对称返回1,否则返回0。
5.实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为偶数。
6.输入整型元素序列利用有序表插入算法建立一个有序表。
7.利用算法6建立两个非递减有序表并把它们合并成一个非递减有序表。
8.编写一个主函数,调试上述算法。
二 单向链表的有关操作
1.随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。
2.遍历单向链表。
3.把单向链表中元素逆置(不允许申请新的结点空间)。
4.在单向链表中删除所有的偶数元素结点。
5.编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,并利用该函数建立一个非递减有序单向链表。
6.利用算法5建立两个非递减有序单向链表,然后合并成一个非递增链表。
7.编写一个主函数,调试上述算法。
三 表达式计算
1.采用顺序存储实现栈的初始化、入栈、出栈操作;
2.利用栈实现把中缀表达式转换为后缀表达式的算法;
3.编写后缀表达式求值的算法;
4.编写一个主函数,调试上述算法。
四 二叉树操作
1.输入字符序列,建立二叉链表。
2.中序遍历二叉树:递归算法。
3.中序遍历二叉树:非递归算法。(最好也能实现先序,后序非递归算法)
4.求二叉树的高度 。
5.求二叉树的叶子个数。
6.编写一个主函数,调试上述算法。
五 图的有关操作
1.键盘输入数据,建立一个无向图的邻接表。
2.采用邻接表存储实现无向图的深度优先非递归遍历。
3. 采用邻接表存储实现无向图的广度优先遍历。
4.采用邻接矩阵存储一个无向图。
5.采用邻接矩阵存储实现无向图的最小生成树的PRIM算法。
6.编写一个主函数,调试上述算法。
六 查找的有关操作
1. 随机产生一组关键字,已知散列函数为H(key)=key%p(p为自定的常数),冲突处理方法为线性探测法实现散列表的建立(利用插入算法实现);
2.编写从散列表中查找一个元素的算法。
七 排序
输入一组关键字序列分别实现下列排序:
1.实现简单选择排序、直接插入排序和冒泡排序。
2.实现希尔排序算法。
3.实现快速排序算法。
4.实现堆排序算法。
5.快速排序的非递归算法。

第1个回答  2012-07-11
哇噻,,,,你这是把整本的数据结构都做一遍啊。
相似回答
大家正在搜