标签:code int amp nbsp 下标 baidu sort 交换 选择排序
选择排序法 是对 定位比较交换法(也就是冒泡排序法) 的一种改进。
选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。
简单选择排序的基本思想:第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕。
C Sample code:
1 void SelectSort( int a[], int length ) 2 { 3 //对数组a排序,length是数组元素数量 4 for( int i = 0; i < length; i++ ) { 5 // 找到从i开始到最后一个元素中最小的元素,k存储最小元素的下标. 6 int k = i; 7 for( int j = i + 1; j < length; j++ ) { 8 if( a[j] < a[k] ) { k = j; } 9 } 10 11 // 将最小的元素a[k] 和 开始的元素a[i] 交换数据. 12 if( k != i ) { 13 int temp; 14 temp= a[k]; 15 a[k] = a[i]; 16 a[i] = temp; 17 } 18 } 19 }
标签:code int amp nbsp 下标 baidu sort 交换 选择排序
原文地址:https://www.cnblogs.com/it89/p/11068215.html