Re: [問題] 二元搜尋法

看板C_and_CPP (C/C++)作者 (薯)時間16年前 (2009/05/15 00:22), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《gna239 ( Kaonashi)》之銘言: : 在一個排完順序後的分數陣列裡 : 用二元搜尋法來尋找某一個分數在這列中的位置 : 然後我也要找 這個數字在這個陣列中 是第幾個高分 : 然後也要找這個分數 在陣列裡面有幾個是同分的 : 我遇到的問題是.... : 當重複的分數一多的時候 : 找到的第幾高分會有錯誤耶 : UnSorted numbers : : 10 54 84 81 72 39 10 93 64 81 27 10 10 64 10 20 10 : Sorted numbers : : 10 10 10 10 10 10 20 27 39 54 64 64 72 81 81 84 93 : Please enter the score what you want to search:10 : The rank of the score is: 14 : The number of the score is:6 : 要從二元搜尋法的程式碼裡來做修正? : 還是從找幾個同分的程式碼來做修正? : 程式碼有點多 如果需要的話我在PO上來 原PO的問題應該是要找10這個數在哪裡(以排序)? 結果他找到的位置是14號 而且array[14]的內容是6 如果要找的數剛好有很多個 那找到的位置應該是最靠近中間的那個 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.232.53.192

05/15 00:59, , 1F
重複的數值的話 不一定"會剛好找到中間" hit and return
05/15 00:59, 1F

05/15 01:00, , 2F
ex: 1 1 1 1 1 2 3 4 5 找1的話是最右邊的hit
05/15 01:00, 2F
↑這裡是整個的數列的中間啊@.@ ※ 編輯: liu2007 來自: 118.232.53.192 (05/15 02:22)

05/15 13:26, , 3F
那 1 1 1 1 1 2 2 3 4 5 5 找的的 1 咧 @@
05/15 13:26, 3F
文章代碼(AID): #1A34LKOX (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
3
7
完整討論串 (本文為第 2 之 3 篇):
3
7
文章代碼(AID): #1A34LKOX (C_and_CPP)