iOS疯狂详解之排序(选择排序/插入排序)
来源:程序员人生 发布时间:2015-07-23 07:45:34 阅读次数:4034次
选择排序
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; // 目标进坑
}
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠