使用BitSet對1000萬個Int整數進行排序

2021-08-08 03:26:48 字數 613 閱讀 4377

//因為bitset中可以存true/false,而且是按位儲存,所以在資料量很大的時候,合理的使用bitset可以節省很大的記憶體空間,

//提高程式的運算效率。

// 下面是我使用bitset和arrays工具類進行排序的測試類

public class bitsetsort

// 初始化一千萬整數

private static int generatenumber(int size){

long start = system.currenttimemillis();

system.out.println("開始生成資料");

int nums = new int[size];

for(int i=0;i

結果:1、使用bitset排序

開始生成資料

生成資料完成,耗時:172毫秒

開始排序

排序完成,耗時:429毫秒

2、使用arrays工具類排序

開始生成資料

生成資料完成,耗時:172毫秒

開始排序

排序完成,耗時:1078毫秒

多路歸併對1000 萬無序數排序(外排序)

演算法思路 首先根據記憶體要求將排序檔案分成k份,然後迴圈讀這k個檔案分別進行排序。然後用同時開啟這k個檔案,讀出每個檔案的第乙個數字,找出其中最小的數字寫到result.txt檔案中並且讓這個具有最小數字的檔案讀取下乙個數字,繼續找k個檔案中的最小數字,直到k個檔案都被讀取完為止,result 中...

教你如何用C 快速生成1000萬個隨機數

updated 2012.5.10 我簡單地提及了一下top k。精華部分 srand unsigned time 0 隨機種子,為了提高不重複的概率 rand max min 1 min 生成的隨機數值在min和max之間 包含min,max 請直接看 所有重要資訊均在上面。本程式實現的功能 生成...

專注就要勇於對其它1000個好主意說「不」

專注就要勇於對其它1000個好主意說 不 看到這乙個標題,便深以為是,謹記,牢記!賈伯斯是在蘋果處於低谷時再次進入蘋果的,那時蘋果沒有ipod,沒有iphone,也沒有ipad,有的只是對前途的迷茫。在1997年,蘋果的股價跌至不足4美元,大部分人都認為蘋果這次肯定是要完了。賈伯斯卻並不這麼認為。也...