OC 算法之冒泡排序

冒泡排序法的基本思想:(以升序為例)含有n個元素的數組原則上要進行n-1次排序。對于每一躺的排序,從第一個數開始,依次比較前一個數與后一個數的大小。
如果前一個數比后一個數大,則進行交換。這樣一輪過后,最大的數將會出現稱為最末位的數組元素。第二輪則去掉最后一個數,對前n-1個數再按照上面的步驟找出最
大數,該數將稱為倒數第二的數組元素......n-1輪過后,就完成了排序。

實現代碼:

    NSMutableArray * numArray = [NSMutableArray arrayWithObjects:@"3",@"13",@"5",@"2",@"7",@"18",@"21",@"16",@"23",@"33", nil];
    
    for (int i = 0; i<numArray.count-1; i++) {
        //-1 是因為循環后最后一位是整個排序最大的數
        for (int j =0; j<numArray.count-1-i; j++) {
            //-i 是因為每次i循環后最后一位是每次循環的最大值
            if ([numArray[j] intValue]>[numArray[j+1] intValue]) {
                int temp = [numArray[j] intValue];
                numArray[j] = numArray[j + 1];
                //OC中的數組只能存儲對象,所以這里轉換成string對象
                numArray[j + 1] = [NSString stringWithFormat:@"%d",temp];
                
            }
        }
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 概述 排序有內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部...
    蟻前閱讀 5,215評論 0 52
  • 概述:排序有內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部...
    每天刷兩次牙閱讀 3,742評論 0 15
  • 概述排序有內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部的...
    Luc_閱讀 2,292評論 0 35
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 將一個記錄插入到已排序好...
    依依玖玥閱讀 1,271評論 0 2
  • 在現在的公司待了整整一年,生活與我剛開始的計劃大相徑庭。如果不是與朋友最近的見面,我不知道自己還會遷就多久。 去年...
    東宣本宣閱讀 329評論 0 1