排序动画
上一节
下一节
一、 实验目的
1.掌握排序算法的思想;
2.顺序表和链表的基本操作的实现;
3.掌握利用C/C++编程语言实现数据结构的编程方法;
4. 通过上机实践加强利用数据结构解决实际应用问题的能力;
二、 实验相关知识
1. 各种排序的算法思想;
2. 使用EasyX做简单的图形处理。
三、 实验内容与要求
利用EasyX实现直接插入、简单选择排序、快速排序......等排序算法的动画演示
1.利用键盘输入10个以内的,1~20的整数(为了更好的演示效果,建议元素个数无需太多,且元素的值不易过大,且为正整数)
2. 利用柱状条表示元素,且柱状条的高度与元素的大小成正比;
3. 动画中需要演示出元素比较、交换的过程;
4. 参考例程,实现直接插入、简单选择排序、快速排序......等排序的动画演示,且录制视频讲作品(突出亮点,特别是例程中未提及的细节的解决),并提交PBL作业;
5. 参考效果如下:
直接插入排序:

简单选择排序:

堆排序演示效果:
四、进一步思考与任务
1.如何在柱状条的(或下方)显示出待排序元素的数据值;
2.如何区分已有序元素与未有序元素;
3.该如何修改交换函数,实现现柱状条曲线路线的移动或交换
4.如何利用对话框输入数据
5.其它(希尔排序、快速排序、冒泡排序、堆排序、归并排序、基数排序)的排序算法如何实现演示。

