[問題] 從幾筆資料中挑出資格符合者
假如現在有兩筆男生和女生的身高體重資料
要從男生裡面挑三個出來,從女生裡面挑兩個出來
挑選標準是身高最矮者,如果身高一樣矮則以體重來比較,若體重又一樣則選編號較小者
舉例:
編號01~06是男生,07~12是女生
編號 01 02 03 04 05 06 07 08 09 10 11 12
身高 177 168 167 180 168 168 162 155 172 158 165 158
體重 55 60 65 63 62 58 47 48 49 45 45 45
所以結果會挑選出男生:02 03 06
女生:08 10 (編號10比編號12小,所以選編號10)
當遇到這樣的問題時,我是想先個別以vector來儲存資料
例如:vectorM[0]表示01號男生,vectorM[5]表示06號男生
vectorW[0]表示07號女生,vectorW[5]表示12號女生
vectorMh[0]是01號男生的身高,vectorMh[5]是06號男生的身高
vectorMw[0]是01號男生的體重,vectorMw[5]是06號男生的體重
vectorWh[0]是07號女生的身高,vectorWh[5]是12號女生的身高
vectorWw[0]是07號女生的體重,vectorWw[5]是12號女生的體重
以男生而言
先比較vectorMh,原本vectorMh的資料依序是 177 168 167 180 168 168
我是想以sort ( vectorMh.begin(), vectorMh.end() ) 來排出順序大小
這樣的話,vectorMh中的資料排序會變成 167 168 168 168 177 180
此時,167一定會被選中,但是三個168必須比較 體重 ,再從中選出兩個
問題來了,我要怎麼知道身高168的人是哪三位呢?
我只知道必須用for loop 去把所有男生的身高資料掃一次,才能抓出誰是身高168
但是當資料數量非常多的時候,這樣去掃會變得非常浪費時間
請問遇到這樣的問題時,有什麼特別的方法可以節省程式的執行時間呢?
感恩~~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.195.3.39
推
08/31 17:25, , 1F
08/31 17:25, 1F
→
08/31 17:45, , 2F
08/31 17:45, 2F
→
08/31 18:27, , 3F
08/31 18:27, 3F
→
08/31 18:46, , 4F
08/31 18:46, 4F
→
08/31 19:53, , 5F
08/31 19:53, 5F
→
08/31 19:53, , 6F
08/31 19:53, 6F
→
08/31 19:54, , 7F
08/31 19:54, 7F
→
08/31 19:55, , 8F
08/31 19:55, 8F
→
08/31 19:56, , 9F
08/31 19:56, 9F
→
08/31 19:57, , 10F
08/31 19:57, 10F
→
08/31 19:57, , 11F
08/31 19:57, 11F
→
08/31 19:58, , 12F
08/31 19:58, 12F
→
08/31 19:58, , 13F
08/31 19:58, 13F
→
08/31 20:00, , 14F
08/31 20:00, 14F
→
08/31 20:02, , 15F
08/31 20:02, 15F
→
08/31 20:07, , 16F
08/31 20:07, 16F
→
08/31 20:08, , 17F
08/31 20:08, 17F
→
08/31 20:13, , 18F
08/31 20:13, 18F
→
08/31 20:14, , 19F
08/31 20:14, 19F
→
08/31 20:14, , 20F
08/31 20:14, 20F
→
08/31 20:23, , 21F
08/31 20:23, 21F
→
08/31 20:45, , 22F
08/31 20:45, 22F
→
08/31 20:50, , 23F
08/31 20:50, 23F
推
08/31 21:06, , 24F
08/31 21:06, 24F
→
08/31 21:15, , 25F
08/31 21:15, 25F
討論串 (同標題文章)