《程式設計珠璣》第一章-點陣圖排序

liyuxia713發表於2010-11-03

 

點陣圖用每個位的值(0 or 1)來表明一個數是否存在,從而減少了記憶體使用量,也提高了效率。

問題:

輸入:所輸入的是一個檔案,至多包含n個正整數,每個正整數都小於n,n=10,000,000.數字不重複,且不相互關聯

輸出:經過排序的整數列表

約束:至多1M的可用記憶體,可用磁碟空間充足。執行時間最多幾分鐘,最好是10S

特點: 1. 數的範圍小;        2. 沒有重複數字;           3. 數之間不相連;

實現:

 

下面是生成[1,n]之間的k個不重複隨機數的程式碼:

  

 

 

相關文章