我有一個隊列和一個隊列數組。 buckets
是數組,而collector
是隊列。 pass
是一個整數,用於保存它傳遞的值。我有一個方法返回給我的隊列中第一個單元格的名稱爲peek()
。 shiftOne()
是一種將一個隊列的頭部移動到另一個隊列的尾部的方法。基數排序C++不屏蔽位
現在這個代碼不爲我工作
bucket[((collector.peek()>>(pass * 8)) &0xFF)].shiftOne(collector);
我已經一步一步,它變成我沒有正確屏蔽位。我可以轉移他們,但這是關於它。所以我會嘗試訪問元素102的10元素數組。我究竟做錯了什麼?我知道peek()
和shiftOne()
,因爲我可以使用權力和模數進行排序。
'8'和'0xFF'使用基數-256排序,在這種情況下,你的數組應該是256個元素(訪問元素102就好) – 2012-03-10 01:49:00