详解之排序(选择排序/插入排序)"/>
iOS疯狂详解之排序(选择排序/插入排序)
选择排序
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) { // 优化 无序区的头 不是第一个 // 最小值 放入头部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; // 目标进坑}
更多推荐
iOS疯狂详解之排序(选择排序/插入排序)
发布评论