Re: [問題] 1-42取出6+1個數字

看板java作者 (肉元)時間19年前 (2006/07/13 13:36), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串11/21 (看更多)
※ 引述《qrtt1 (愚者)》之銘言: : ※ 引述《Gsus (肉元)》之銘言: : [...] : : 如此你怎麼樣也不會取到相同的數字 : : 你甚至可以random vector裡面存的1~42的順序 : : 不過我覺得應該沒必要 : : 最後記得要用garbage collection ^^ : 不好意思, 最後一句不明白 : 可否為我的愚昧稍為點講解? 假設vector現在的內容是: 1-> 2-> 3-> 4-> 5->....-> 25-> 26-> 27... 假設我現在是取第一個號碼(random的範圍是0~41) random出來的數字是25,於是我就取出vector[25](which值=26)當作第一號 然後 vector.remove(25);(語法格式不確定對不對) 此時vector的內容會變成: 1-> 2-> 3-> 4-> 5->....-> 25-> 27... 且值27的index=25 所以整個vector的index會變成0~40 所以下一次Random決定index時,random的範圍要減1 不過要是random的範圍用變數vector.size()來做, 就不用顧慮"減1"這件事 -- 假如用linked List 就不用作remove 因為get()時就會順便改變指標 如上面那位大所說的一樣 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.106.130 ※ 編輯: Gsus 來自: 61.228.106.130 (07/13 13:41)
文章代碼(AID): #14jTl6z5 (java)
討論串 (同標題文章)
文章代碼(AID): #14jTl6z5 (java)