- 0
- 0
- 约3.06千字
- 约 6页
- 2019-07-18 发布于江苏
- 举报
实验三: (快速、基数)排序算法的设计
一、实验目的和要求
(1) 深刻理解排序的定义和各种排序方法的特点,并能灵活运用。
(2) 掌握常用的排序方法,并掌握用高级语言实现排序算法的方法。
(3) 了解各种方法的排序过程及其依据的原则,并掌握各种排序方法的性能的分析方法。
二、实验内容和原理
(1)设计直接插入排序、冒泡排序、快速排序算法。
(2)设计基数排序算法。
三、实验环境
1. 硬件:PC机;
2. 软件:Windows操作系统、Visual C++ 6.0
四、算法描述及实验步骤
直接插入排序
在要排序的一组数中,假设前面(n-1) [n=2] 个数已经是排?好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数?也是排好顺序的。如此反复循环,直到全部排好顺序。?
冒泡排序
在要排序的一组数中,对当前还未排好序的范围内的全部数,自上?而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较?小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要?求相反时,就将它们互换。?
快速排序算法
通过一趟?扫描后,使得排序序列的长度能大幅度地减少。在冒泡排序中,一次?扫描只能确保最大数值的数移到正确位置,而待排序序列的长度可能只?减少1。快速排序通过一趟扫描,就能确保某个数(以它为基准点吧)?的左边各数都比它小,右边各数都比它大。然后又用同样的方法处理?它左右两
原创力文档

文档评论(0)