java數組隨機排序
發布時間: 2023-08-22 06:18:27
『壹』 java中對數組中的數據進行隨機排序
對數組進行隨機排序分為兩種形式,一種是完全隨機排序,一種是不完全隨機排序,區別是完全隨機對數組中原先任意的數據不會出現在原來的位置上,那麼,一般來說,完全隨機排序的需求會相對較大,我在此先給出完全隨機方式,如果你需要不完全隨機排序,可以再說:
舉個例子:有一批數據,共n個,依次為a1,a2,a3,…,an-1,an,需要對它們進行完全隨機排序。排序方法類似於直接選擇,從左至右,即從ai+1~an中隨機抽取一個數據與ai交換(1≤i≤n-1)。先排序第一個數據a1:從a2~an中隨機抽出一個數據與a1交換;再排第二個數據a2:從a3~an中隨機抽取一個數據與a2交換;再排第三個數據a3:從a4~an中隨機抽取一個數據與a3交換;…;最後排第n-1個數據an-1:從an~an中隨機抽取一個數據與an-1交換;第n個數據已不需要排序。這樣,總共需要排n-1次。 從以上的演算法分析中可以看出,每個待排序數據都會與其它數據交換位置,所以,每個數據都不會出現在原先的位置上,這是完全隨機排序。
熱點內容