帮我用objec-c实现一个冒泡排序
时间: 2023-01-29 22:48:53 浏览: 132
C# 冒泡法排序可视化程序,用不同长度条形柱表示数值,条形柱移动,表示冒泡法的实现。
5星 · 资源好评率100%
当然可以!这是一个用 Objective-C 实现冒泡排序的例子:
```
#import <Foundation/Foundation.h>
NSMutableArray* bubbleSort(NSMutableArray *array) {
BOOL swapped = YES;
while (swapped) {
swapped = NO;
for (int i = 1; i < array.count; i++) {
if (array[i - 1] > array[i]) {
[array exchangeObjectAtIndex:i withObjectAtIndex:i - 1];
swapped = YES;
}
}
}
return array;
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSMutableArray *array = [NSMutableArray arrayWithArray:@[@4, @5, @1, @3, @2]];
NSLog(@"Original array: %@", array);
NSMutableArray *sortedArray = bubbleSort(array);
NSLog(@"Sorted array: %@", sortedArray);
}
return 0;
}
```
这是冒泡排序的基本原理:每次比较相邻的两个数,如果它们的顺序错误就交换它们。然后把最大(或最小)的数放到序列的末尾(或开头)。再次比较相邻的两个数,直到所有的数都按照顺序排列。
我希望这对你有帮助。如果你有其他问题,请随时告诉我。
阅读全文