数组排序

2017-10-31  本文已影响0人  BlueSky520

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)选择一个基准元素,通常选择第一个元素或者最后一个元素,
//
//2)通过一趟排序讲待排序的记录分割成独立的两部分,其中一部分记录的元素值均比基准元素值小。另一部分记录的 元素值比基准值大。
//
//3)此时基准元素在其排好序后的正确位置
//
//4)然后分别对这两部分记录用同样的方法继续进行排序,直到整个序列有序。

图片.png
4.合并排序
//归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 图片.png
上一篇下一篇

猜你喜欢

热点阅读