睡眠排序法,當娛樂就好

2021-10-24 03:24:45 字數 974 閱讀 7549

此排序法為從知乎看,定義為睡眠排序法,有誤差性實用性不大

整數陣列排序

public

class

arraysort

implements

runnable

/** * 睡眠排序法---誰先醒來誰當頭,有誤差的可能性

* @param args

*/public

static

void

main

(string[

] args)

;for

(int i=

0; ipublic

void

run(

)catch

(interruptedexception e)

}}

輸出結果為:1,3,5,10,20,100,201,500 總體看來整數的輸出結果還不錯但是小數就出問題了

public

class

arraysort

implements

runnable

/** * 睡眠排序法---誰先醒來誰當頭,有誤差的可能性

* @param args

*/public

static

void

main

(string[

] args)

;for

(int i=

0; ipublic

void

run(

)catch

(interruptedexception e)

}}

輸出結果為:10.3,10.1,9.0,10.7,10.5,10.6,10.2,10.4,11.0,10.8,12.0 從小數來看,如果小數相近的話,不一定會誰先輸出

總體來說不知道誰的哪位大佬的思維這麼活躍想到用睡眠來排序,娛樂就好

睡眠排序法

睡眠排序演算法是一種比較另類有趣的排序演算法,其核心思想與cpu排程機制相關,是通過多執行緒讓每乙個資料元素睡眠一定規律的時間,睡眠時間要和自身資料大小存在一定的規律,睡眠時間短的先進行輸出,睡眠長的後輸出,從而實現資料有序輸出。存在缺點 若睡眠時間之間相差很小時,容易出現誤差,為了減小誤差,一般需...

睡眠排序法 乙個不準確的排序方法

今天看到乙個非常玄奇的排序方法,大致上類似於桶排序,但是不是特別可靠,就是睡眠排序法,額,簡單的 如下 from time import sleep items 2,4,10,2,1,7 睡眠排序演算法 複雜的 如下 抄別人的 import time import random from threa...

搞笑排序之睡眠排序

乙個程式的執行時間受多種因素影響,因此它的返回結果不一定正確 構造n個執行緒,它們和這n個數一一對應。初始化後,執行緒們開始睡眠,等到對應的數那麼多個時間單位後各自醒來,然後輸出它對應的數。這樣最小的數對應的執行緒最早醒來,這個數最早被輸出。等所有執行緒都醒來,排序就結束了 package com....