我有問題,想請教一下
如何利用佇列的功能,重新排列資料但不破壞其基本順序 用以下數字列表來看:
3 22 12 6 10 34 65 29 9 30 81 4 5 19 20 57 44 99
將它們分為四個不同的組別:
Group 1: less than 10
Group 2: between 10 and 19
Group 3: between 20 and 29
Group 4: 30 and greater
重新排列後的數字列表如下:
| 3 6 9 4 5 | 12 10 19 | 22 29 20| 34 65 30 81 57 44 99 |
這題不用高手,我就會了
最簡單的做法就是弄 4 個佇列
Group 1 一個
Group 2 一個
Group 3 一個
Group 4 一個
然後從頭讀到尾並分別放進 4 個佇列中
整個讀完了之後
再把 4 個佇列「串接」起來
|Group 1|Group 2|Group 3|Group 4|
收工放飯
如果不想用到 4 個佇列
那麼就「用 1 個佇列,原始資料讀 4 次」
第一次從頭讀到尾,只把 GROUP 1 的數字填進佇列
第二次從頭讀到尾,只把 GROUP 2 的數字填進佇列
第三次從頭讀到尾,只把 GROUP 3 的數字填進佇列
第四次從頭讀到尾,只把 GROUP 4 的數字填進佇列
這樣也可以