充氟利昂多少钱:9.4.1 简单选择排序算法
来源:百度文库 编辑:中财网 时间:2024/04/28 05:00:37
9.4.1 简单选择排序算法
简单选择排序法(Simple Selection Sort)就是通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1≤i≤n)个记录交换之。
我们来看代码。
- /* 对顺序表L作简单选择排序 */
- void SelectSort(SqList *L)
- {
- int i,j,min;
- for(i=1;i
length;i++) - {
- min = i; /* 将当前下标定义为最小值下标 */
- for (j = i+1;j<=L->length;j++)/* 循环之后的数据 */
- {
- if (L->r[min]>L->r[j]) /* 如果有小于当前最小值的关键字 */
- min = j; /* 将此关键字的下标赋值给min */
- }
- if(i!=min) /* 若min不等于i,说明找到最小值,交换 */
- swap(L,i,min); /* 交换L->r[i]与L->r[min]的值 */
- }
- }
代码应该说不难理解,针对待排序的关键字序列是{9,1,5,8,3,7,4,6,2},对i从1循环到8。当i=1时,L.r[i]=9,min开始是1,然后与j=2到9比较L.r[min]与L.r[j]的大小,因为j=2时最小,所以min=2。最终交换了L.r[2]与L.r[1]的值。如图9‐4‐1所示,注意,这里比较了8次,却只交换数据操作一次。
图9-4-2当i=3时,L.r[i]=5,min开始是3,经过比较后,min=5,交换L.r[min]与L.r[i]的值。如图9‐4‐3所示。
图9-4-3之后的数据比较和交换完全雷同,最多经过8次交换,就可完成排序工作。
vb选择排序算法
设计一个用链表表示的简单选择排序的算法,并实现之(试验报告)
请问下述算法是属于选择排序还是冒泡排序,有什么依据吗?
谁会对C++中的排序算法,比如冒泡排序,插入排序,选择排序,快速排序等的MPI并行实现代码?
结构体排序算法
asp排序算法
什么是起泡排序算法??
急求一排序算法
合并排序算法
内部排序算法比较
内部排序算法比较
选择排序
请说出Basic语言里的比较非序法、冒泡排序法和选择排序法的算法?
谁知道空间复杂度为o(1)的归并排序算法?
C算法.第1卷,基础、数据结构、排序和搜索
C算法.第1卷,基础、数据结构、排序和搜索
整数排序算法的问题?
堆排序的具体算法
快速排序的循环算法
求几种排序法的算法
全排序的算法(PASCAL)
直接选择排序
pascal直接选择排序
对长度为10的表作选择(简单选择)排序,共需比较____次关键字