iOS 演算法 簡單的二分法

2021-08-07 03:22:25 字數 1234 閱讀 6314

//聯絡人:石虎暱稱:嗡嘛呢叭咪哄

二分查詢法

nsarray *numberarray =

@[@1

, @3

, @27

, @36

, @42

, @70

, @82];

nsinteger

searchnum = 70;

nsinteger

mid;

nsinteger

min = 0;

nsinteger

max = [numberarray count] - 1;

bool

found = no;

while

(min <= max)

else

if(searchnum < [numberarray[mid] integervalue])

else

if(searchnum > [numberarray[mid] integervalue]) }

if(!found) //

鍊錶反轉(其實就是將陣列裡面的值翻轉過來) //

oc陣列實現了下,不正確的地方可以指出一下

nsarray

*array =

@[@1,@2

,@3,@4

,@5];

nsmutablearray

*marr = [

nsmutablearray

array];

for(nsinteger i = array.count -

1; i >=

0; i --)

nslog

(@"array ===> %@"

,array);

nslog

(@"marr  ===> %@"

,marr); //

結果:

array = 1,

2,3,

4,5;

marr = 5,

4,3,

2,1;

謝謝!!!

二分法 演算法

查詢演算法中的 二分法 是這樣定義的 給定n個從小到大排好序的整數序列list,以及某待查詢整數x,我們的目標是找到x在list中的下標。即若有list i x,則返回i 否則返回 1表示沒有找到。二分法是先找到序列的中點list m 與x進行比較,若相等則返回中點下標 否則,若list m x,則...

演算法 二分法

二分法可以歸為兩大類 二分查詢演算法 二分排序演算法 二分合併演算法 演算法中經常用到二分查詢演算法,比如最常規的應用就是在乙個有序陣列中找特定的數,但是如何寫出乙個完整準確的二分法呢,邊界條件如何判斷,到底是等於還是不等?可能會困惱大家,比如說查詢第乙個等於5的數,那又在如何查詢呢?查詢最後乙個等...

二分法 演算法

二分法查詢,這個演算法要求資料要是有序的。比如有這樣的問題 找出乙個陣列中,兩個數的和小於等於15,然後輸出他們,否則就單獨輸出較大的數。binarysearch.cpp include using namespace std void binarysearch int array,int leng...