- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// 冒泡法
NSMutableArray *arr = @[@"1",@"2344",@"4545",@"343335",@"1456",@"14",@"454",@"74",@"3945",@"1245"].mutableCopy;
NSInteger length = arr.count;
NSInteger repeatCount = 0;
NSInteger swappedCount = 0;
for (int i = 0, swapped = 1; swapped == 1 && i < length - 1; i ++) {
swapped = 0;
for (int j = 0; j < length - i - 1; j ++) {
repeatCount ++;
if ([arr[j] integerValue] > [arr[j + 1] integerValue]) {
NSString *tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
swapped = 1;
swappedCount ++;
}
}
}
NSLog(@"1循環(huán)次數(shù) %ld",repeatCount);
NSLog(@"1交換次數(shù) %ld", swappedCount);
NSMutableArray *arr2 = @[@"1",@"2344",@"4545",@"343335",@"1456",@"14",@"454",@"74",@"3945",@"1245"].mutableCopy;
// 選擇法
repeatCount = 0;
swappedCount = 0;
for (int i = 0; i < length - 1; i ++) {
NSInteger index = i; // 核心 記錄最小或者最大的坐標(biāo)
for (int j = i + 1; j < length; j ++) {
repeatCount ++;
if ([arr2[index] integerValue] > [arr2[j] integerValue]) {
index = j;
}
}
if (index != i) {
swappedCount ++ ;
NSString *tmp = arr2[i];
arr2[i] = arr2[index];
arr2[index] = tmp;
}
}
NSLog(@"2循環(huán)次數(shù) %ld",repeatCount);
NSLog(@"2交換次數(shù) %ld", swappedCount);
}
OC 高效冒泡法 比較法排序
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- import java.util.Arrays; import java.util.Random; public ...
- import java.util.Random; public class Insertp { public st...
- 1、二分法查找 當(dāng)數(shù)據(jù)量很大適宜采用該方法。采用二分法查找時(shí),數(shù)據(jù)需是有序的,否則要先排序。 - (void)bi...
- Java是一種可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。Java 技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和...
- 用Objective-C實(shí)現(xiàn)幾種基本的排序算法,并把排序的過(guò)程圖形化顯示。其實(shí)算法還是挺有趣的 ^ ^. 選擇排序...