數組排序是將數組中的各個元素按照用戶定義的一系列規則按某種邏輯順序排列的過程。該過程包括一步一步地遍歷數組,并根據周圍的元素測試該元素,以確定是否需要將其移到數組中的另一個索引。當執行數組排序時,有幾種算法...
數組排序是將數組中的各個元素按照用戶定義的一系列規則按某種邏輯順序排列的過程。該過程包括一步一步地遍歷數組,并根據周圍的元素測試該元素,以確定是否需要將其移到數組中的另一個索引。當執行數組排序時,有幾種算法可以使用,特別是當排序條件是數值而不是更任意的情況下。大多數數組排序算法是通過其速度和效率來衡量的,最慢的算法是最容易編程的,而最快的則要復雜得多。數組排序是將數組中的單個元素按某種邏輯順序排列的過程。最簡單的數組排序算法稱為氣泡排序,它也是最慢的。這個過程從循環開始這將遍歷數組中的每個元素。將當前元素與數組中的下一個元素進行比較,如果下一個元素的值低于當前元素,則會切換索引處的數據。氣泡式排序的缺點是需要在數組中循環幾次以進行所有必要的交換對數組進行排序。在最基本的實現中,排序將針對它所包含的每個元素在整個數組中循環一次。選擇排序使用的算法執行數組排序的效率比氣泡排序稍微高一點,但仍需要在數組中進行多次迭代。此排序首先循環數組以查找值最低的值元素。然后將此元素放入數組的第一個索引中,并且一些跟蹤變量將遞增。然后循環將重復,現在尋找下一個最小值,然后將該值放入數組的第二個索引中這個過程一直持續到最高值的元素被放在數組的最后一個索引中。數組排序的一種方法雖然效率很高,但有時實現起來很復雜,稱為快速排序。快速排序包括獲取數組中所有可能值中間的值。該算法將遍歷所有數組的元素,并將所有大于中值的值放在數組的末尾,將較小的值放在數組的開頭。此過程在數組的塊上遞歸執行,直到最后對整個數組進行排序。假設用于數組的中間值相當準確,這是一種非常快速的排序方法。影響數組排序算法的一個因素是測試數據的等效性的方法。簡單的數字很容易比較哪個值更大,但對于需要比較多個條件的復雜數據類來說,情況可能并非如此,比較一個元素大于或小于另一個元素所需的時間越長,算法對數組進行排序所需的時間就越長
-
發表于 2020-08-06 21:05
- 閱讀 ( 787 )
- 分類:電腦網絡