1打肝、冒泡:
NSMutableArray * numberArray = [NSMutableArray arrayWithObjects:@1,@4,@2,@3,@5,nil];;
for (int i = 0; i < numberArray.count; i++) {
for (int j = 0; j < numberArray.count - 1; j++) {
if (numberArray[i]<numberArray[j]) {
[numberArray exchangeObjectAtIndex:i withObjectAtIndex:j];
}
}
}
2饺蚊、選擇:
NSMutableArray * numberArray = [NSMutableArray arrayWithObjects:@1,@4,@2,@3,@5,nil];;
for (int i = 0; i < numberArray.count; i++) {
for (int j = i + 1; j < numberArray.count; j++) {
if (numberArray[i]>numberArray[j]) {
[numberArray exchangeObjectAtIndex:i withObjectAtIndex:j];
}
}
}
3.快速排序
//1)選擇一個(gè)基準(zhǔn)元素,通常選擇第一個(gè)元素或者最后一個(gè)元素,
//
//2)通過一趟排序講待排序的記錄分割成獨(dú)立的兩部分羡微,其中一部分記錄的元素值均比基準(zhǔn)元素值小稼锅。另一部分記錄的 元素值比基準(zhǔn)值大。
//
//3)此時(shí)基準(zhǔn)元素在其排好序后的正確位置
//
//4)然后分別對這兩部分記錄用同樣的方法繼續(xù)進(jìn)行排序,直到整個(gè)序列有序裕寨。
4.合并排序
//歸并(Merge)排序法是將兩個(gè)(或兩個(gè)以上)有序表合并成一個(gè)新的有序表,即把待排序序列分為若干個(gè)子序列派继,每個(gè)子序列是有序的宾袜。然后再把有序子序列合并為整體有序序列。