排序
实验目的:
(1)熟练掌握在顺序表上实现排序的各种方法。
(2)深刻理解各种排序方法的特点,并能灵活运用。
(3)掌握和理解本实验中出现的一些基本的C语言语句。
(4)体会算法在程序设计中的重要性。
实验内容:
编写一个排序菜单程序,在其中调用不同的排序算法,实现对任意无序序列的递增排序操作。在主程序中输入初始序列,分别调用直接插入排序、冒泡排序、直接选择排序、快速排序等排序算法,输出排序后的结果。题目要求:在所有的排序算法中,待排序数据均从数组的0单元放起。
对无序序列:(70,73,69,23,93,18,11,68),分别用下列方法进行排序,编写程序。
(1)快速排序
(2)简单选择排序
采用递归方式对顺序表进行快速排序。下列关于递归次数的叙述中,正确的是()。【2010年全国试题10(2分)】
A.递归次数与初始数据的排列次序无关
B.每次划分后,先处理较长的分区可以减少递归次数
C.每次划分后,先处理较短的分区可以减少递归次数
D.递归次数与每次划分后得到的分区的处理顺序无关
在排序算法中,每次从未排序的记录中挑出最小(或最大)关键字的记录,加入到已排序记录的末尾,该排序方法是()。【中山大学1999一、11(1分)】
A.选择
B.冒泡
C.插入
D.堆