简单选择排序的基本思想:(从小到大)
第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;
第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;
以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕。
代码如下:
int main(int argc, const char * argv[]) { @autoreleasepool { NSMutableArray *arr = [NSMutableArray arrayWithObjects:@1,@100,@4,@3,nil]; for (int i = 0; i< arr.count; i++) { for (int j = i +1; j<arr.count; j++) { if (arr[i] > arr[j]) { [arr exchangeObjectAtIndex:i withObjectAtIndex:j]; } } } NSLog(@"%@",arr); } return 0; }
运行结果如下:
2018-01-13 10:44:43.666392+0800 选择排序[953:128931] ( 1, 3, 4, 100 ) Program ended with exit code: 0