iOS瘋狂詳解之排序(選擇排序/插入排序)
來源:程序員人生 發(fā)布時(shí)間:2015-07-23 07:45:34 閱讀次數(shù):4204次
選擇排序
1.先求最小值
2.找到位置
3.把位置的數(shù)放到有序區(qū)
4.重復(fù)
for (int j = 0; j < count - 1; j++) {
int minIndex = j;// 最小值的角標(biāo)
for (int i = minIndex + 1; i < count; i++) {
if (array[minIndex] > array[i]) {
minIndex = i;
}
}
if (minIndex != j) { // 優(yōu)化 無序區(qū)的頭 不是第1個(gè)
// 最小值 放入頭部
int temp;
temp = array[minIndex];
array[minIndex] = array[j];
array[j] = temp;
}
}
插入排序
for (int i = 1; i < count; i++) {
int j = i; // 肯定當(dāng)前坑的位置
int temp = array[j]; // 目標(biāo)出列
while (j > 0 && temp < array[j - 1]) {
array[j] = array[j - 1]; // 向后頂大的
j--; // 向前移坑
}
array[j] = temp; // 目標(biāo)進(jìn)坑
}
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)