Hark的数据结构与算法练习之简单选择排序
2015-03-16 13:57
375 查看
/* * 简单选择排序 */ public class SimpleSort { public static void main(String[] args) { int[] arrayData = { 5, 9, 6, 7, 4, 1, 2, 3, 8 }; SimpleSortMethod(arrayData); for (int integer : arrayData) { System.out.print(integer); System.out.print(" "); } } /* * 时间复杂度 :因为是双循环求解,所以是o(n^2) * 空间复杂度:使用的临时空间大小是一个常量,而不是与n有关系,所以空间复杂度是O(1) * 说明: * 其实与冒泡的排序大体是相似的,不同之处是冒泡判断出两个数大小后,直接进行交换;而简单选择排序是找出最大/最小的数后,再进行排序 */ public static void SimpleSortMethod(int[] arrayData) { int maxIndex, i, j,valueTemp; for (i = 0; i < arrayData.length; i++) { maxIndex = i; for (j = i; j < arrayData.length; j++) { if(arrayData[j] > arrayData[maxIndex]) { //在这里,只记录最大值的索引,在后边那个if中进行数值的交换 maxIndex = j; } } if(i!=maxIndex) { valueTemp= arrayData[i]; arrayData[i]= arrayData[maxIndex]; arrayData[maxIndex] = valueTemp; } } } }
相关文章推荐
- Hark的数据结构与算法练习之Bogo排序
- Hark的数据结构与算法练习之若领图排序ProxymapSort
- Hark的数据结构与算法练习之多路归并排序
- Hark的数据结构与算法练习之地精(侏儒)排序
- Hark的数据结构与算法练习之耐心排序
- Hark的数据结构与算法练习之计数排序
- Hark的数据结构与算法练习之锦标赛排序
- Hark的数据结构与算法练习之归并排序
- Hark的数据结构与算法练习之圈排序
- Hark的数据结构与算法练习之鸽巢排序
- Hark的数据结构与算法练习之冒泡排序
- Hark的数据结构与算法练习之堆排序
- Hark的数据结构与算法练习之桶排序
- Hark的数据结构与算法练习之煎饼排序
- Hark的数据结构与算法练习之快速排序
- Hark的数据结构与算法练习之珠排序
- Hark的数据结构与算法练习之希尔排序
- Hark的数据结构与算法练习之鸡尾酒排序
- Hark的数据结构与算法练习之梳排序
- Hark的数据结构与算法练习之奇偶排序