程序员人生 网站导航

iOS疯狂详解之排序(选择排序/插入排序)

栏目:综合技术时间:2015-07-23 07:45:34

选择排序

 1.先求最小值

 2.找到位置

 3.把位置的数放到有序区

 4.重复

for (int j = 0; j < count - 1; j++) { int minIndex = j;// 最小值的角标 for (int i = minIndex + 1; i < count; i++) { if (array[minIndex] > array[i]) { minIndex = i; } } if (minIndex != j) { // 优化 无序区的头 不是第1个 // 最小值 放入头部 int temp; temp = array[minIndex]; array[minIndex] = array[j]; array[j] = temp; } }

插入排序

for (int i = 1; i < count; i++) { int j = i; // 肯定当前坑的位置 int temp = array[j]; // 目标出列 while (j > 0 && temp < array[j - 1]) { array[j] = array[j - 1]; // 向后顶大的 j--; // 向前移坑 } array[j] = temp; // 目标进坑 }


------分隔线----------------------------
------分隔线----------------------------

最新技术推荐