氣泡排序是一種通用的演算法,凡是通用的,可以理解為效率不高,但是通用。
從小到大的排序:
static void main(string args)
; sort(intarr);
foreach(var i in intarr)
console.readkey();
}public static void sort(int arr)
} if (hassore)}}
這裡面稍微有點難以理解的地方是如何一開始就確認:
iarr[j + 1])
}if (hassore)
}}}原理:
上面我們只要7和6換了位子就可以了,但是計算機可不會這麼做。
但是我們知道其實9和10是排好了順序的。
如何判斷到最後乙個交換位置的位置,那麼就可以肯定後面的位置包括了後面交換的位置是已經判斷了的。
就比如說這裡:
加入7和6交換了位置,然後7沒有和9交換位置,9也沒有和10交換位置,那麼是不是可以判斷6到7到9到10是排序好的?
這裡難以理解的是6,為什麼6也被排序好了?因為6和7比較排序的時候6肯定是前面的最大值,也就是僅次於7的值。
我們比較的是6,也就是j,那麼第二次判斷的時候只需要去判斷0-(j-1),所以可以向上面那麼做。
演算法常識 快速排序
什麼是快速排序?首先問道 比如說從大到小,如何確定乙個陣列中的乙個數已經排好了順序?這個當然有很多種方式,比如說排序的時候最大值在最左邊,那麼確定了最左邊的位置,這就是冒泡的最基本的原理。快速排序同樣有自己的規則,如果乙個數的右邊都小於他,左邊都大於他,是否這個數不需要變換位置?答案是,是的。快速排...
氣泡排序演算法 C 氣泡排序演算法排序詳解
氣泡排序是最簡單的排序方法,理解起來容易。雖然它的計算步驟比較多,不是最快的,但它是最基本的,初學者一定要掌握。c 氣泡排序演算法的例項源 一些排序方法的 集錦,該函式模板使用冒泡法對集合元素進行排序,引數說明 collection 集合物件,集合物件必須提供 操作。element 集合元素,該引數...
氣泡排序 氣泡排序演算法優化
常用的排序演算法主要包括 1 插入排序 直接插入排序 希爾排序 2 交換排序 氣泡排序 快速排序 3 選擇排序 簡單選擇排序 堆排序快速排序 4 歸併排序其中,氣泡排序算是最簡單的一種排序演算法 public class bubble int temp 0 for int i 0 iarr j 1 ...