Re: [問題] BinarySearch
※ 引述《DearKurt (MIIS)》之銘言:
: ※ 引述《n4321 ( )》之銘言:
: : 請問一下
: : 我試了一下BinarySearch的功能
: : 以下是程式碼
: : ArrayList a = new ArrayList();
: : a.Clear();
: : a.Add("a a");
: : a.Add("bttt");
: : a.Add("c");
: : a.Add("d");
: : a.Add("p");
: : a.Add("nddd");
: : a.Add("r");
: : a.Add("tttttttttttttd");
: : a.Add("rere");
: : a.Add("a");
: : int i = a.BinarySearch("nddd");
: : Console.WriteLine(i);
: : Console.Read();
: : 顯示出來的並非5 而是-5
: : 請問一下這有什麼錯誤嗎?謝謝
: http://en.wikipedia.org/wiki/Binary_search
: 看一下binarysearch的解釋
: 是從sorted list中找到特定值
: 所以要正常運作 要先排序
: 不然就直接用indexof就好了
補充一下
http://msdn.microsoft.com/library/cht/default.asp?url=/library/CHT/cpref/
html/frlrfsystemcollectionsarraylistclassbinarysearchtopic2.asp
傳回值
如果找到 value ,則為排序的 ArrayList 中 value 之以零起始的索引;否則為負數,
即大於 value 的下一個元素之位元補數,或者,如果沒有更大的元素,則為 Count
之位元補數。
備註
如果 ArrayList 尚未根據 IComparable 實作來排序,結果可能不正確。
所以他有的時候是數字不太對是因為沒排序
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.209.4
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章