利用BitMap進行排序

2021-08-26 18:55:57 字數 435 閱讀 6150

利用bitmap可以對某些資料進行排序,但是限制條件是必須實現知道資料的範圍,而且不能重複,類似於桶排序,但是比桶排序更加節省記憶體。

原理很簡單,就是設定陣列某一位的數在bitmap中對應位為1,然後遍歷陣列就可以得到結果。

這裡以100以內的乙個陣列排序為例

例如陣列:

intarray = ;

則設定bitmap第6位

(bitmap

從第0位開始

)為1,第2位為1,

......

/*** 利用bitmap進行排序;

* @param array

*/public static void bitmapsort(int array){

//開闢16個byte;

byte bs=new byte[16];

for(int i=0;i

用bit map進行陣列排序

定義每個byte中有8個bit位 include memory.h define bytesize 8 void setbit char p,int posi p p 0x01 posi bytesize 將該bit位賦值1 return void bitmapsortdemo bufferlen這...

排序之bitmap排序

所謂的bit map就是用乙個bit位來標記某個元素對應的value,而key即是該元素。由於採用了bit為單位來儲存資料,因此在 儲存空間 方面,可以大大節省。如果說了這麼多還沒明白什麼是bit map,那麼我們來看乙個具體的例子,假設我們要對0 7內的5個元素 4,7,2,5,3 排序 這裡假設...

利用hash進行排序輸出

給你 n 個整數,請按從大到小的順序輸出其中前 m 大的數。每組測試資料有兩行,第一行有兩個數 n,m 0 1000000 第二行包含 n 個各不相同,且都處於區間 500000,500000 的整數。對每組測試資料按從大到小的順序輸出前 m 大的數。5 3 3 35 92 213 644213 9...