iOS瘋狂詳解之排序(選擇排序/插入排序)
來源:程序員人生 發布時間:2015-07-23 07:45:34 閱讀次數:4210次
選擇排序
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; // 目標進坑
}
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈