二分尋找 原始碼

來源:互聯網
上載者:User
/* 二分尋找 * 演算法思想:1、將數組排序(從小到大);2、每次跟中間的數mid比較,如果相等可以直接返回, * 如果比mid大則繼續尋找大的一邊,否則繼續尋找小的一邊。  輸入:排序好的數組 - sSource[],數組大小 - array_size,尋找的值 - key  返回:找到返回相應的位置,否則返回-1*/int BinSearch(int sSource[], int array_size, int key){int low = 0, high = array_size - 1, mid;while (low <= high){mid = (low + high) / 2;//擷取中間的位置if (sSource[mid] == key)return mid;//找到則返回相應的位置if (sSource[mid] > key)high = mid - 1;//如果比key大,則往低的位置尋找elselow = mid + 1;//如果比key小,則往高的位置尋找}return -1;}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.