一、數(shù)字排序
排序思想
外層循環(huán):每一次循環(huán)選出一個最大或最小值测柠,循環(huán)次數(shù)是 元素個數(shù)-1
內(nèi)層循環(huán):比較相鄰兩個元素的大小炼鞠,按比較方式來交換位置
- (void)viewDidLoad {
[super viewDidLoad];
// 1.定義數(shù)組
int number[10] = {100,0,99,56,78,4,33,42,1,86};
// 2.排序
number_compositor(number, 10);
}
// 排序函數(shù)
void number_compositor(int num[10],int n) {
// 排序
for (int i=0; i<n-1; i++) {
for (int j=0; j<n-1; j++) {
if (num[j] > num[j+1]) {
num[j] = num[j] ^ num[j+1];
num[j+1] = num[j] ^ num[j+1];
num[j] = num[j] ^ num[j+1];
}
}
}
// 遍歷數(shù)組
for (int i=0; i<n; i++) {
NSLog(@"%d",num[i]);
}
}
二、字符串排序
- (void)viewDidLoad {
[super viewDidLoad];
// 定義一個可變數(shù)組
NSMutableArray *strArray = [[NSMutableArray alloc] initWithObjects:@"CHINA",@"AMERICA",@"AUSTRALIA",@"FRANCE",@"GERMAN", nil];
[self string_compositor:strArray];
}
// 排序方法
- (void) string_compositor:(NSMutableArray *)array {
// 1.獲取數(shù)組長度
int len = (int)array.count;
// 2.冒泡排序
for (int i=0; i<len-1; i++) {
for (int j=0; j<len-1; j++) {
if ([array[j] compare:array[j+1]] > 0) {
[array exchangeObjectAtIndex:j withObjectAtIndex:j+1];
}
}
}
// 3.打印數(shù)組元素
NSLog(@"%@",array);
}