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; // 目标进坑 }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。