演算法常識 氣泡排序

2022-03-02 12:14:28 字數 744 閱讀 1354

氣泡排序是一種通用的演算法,凡是通用的,可以理解為效率不高,但是通用。

從小到大的排序:

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 ...