首先分享透過二分搜尋法(BinarySearch)搜尋資料是否存放於陣列中。

使用此方法前必須先使用Array.Sort()方法將陣列遞增排序。

適用於搜尋資料量較大的陣列。

若找到資料傳回元素索引值,若沒找到則傳回-1。

二分搜尋法的概念是每次挑選中間位置的資料來比對,若該資料小於目標值,則縮小範圍為左半部,反之亦然;

因此使用這個方法每次比對後都可以濾掉一半的資料,以增快搜索速度。


語法:
int n = Array.BinarySearch(陣列名稱,欲搜尋資料);

範例程式

陣列搜尋001.JPG

int x = 88;

int[] arr ={88,15,20,10};//設定陣列資料                     

Array.Sort(arr);//將陣列資料遞增排序,排序結果為{10.15.20.88}

int Result = Array.BinarySearch(arr, x); //查找陣列資料,因88為陣列最後一個元素,故索引位置為3

listBox1.Items.Add(arr[Result]);//列出結果

arrow
arrow
    文章標籤
    程式 C# 陣列
    全站熱搜

    興小弟讀書筆記 發表在 痞客邦 留言(0) 人氣()