? 順序查找比較簡單,就是順序遍歷我們所要查找的內(nèi)容,判斷并找出相應(yīng)的目標(biāo)數(shù)。比較簡單,在這里不用圖形說明程序?qū)崿F(xiàn)具體情況。當(dāng)面臨大量數(shù)據(jù)時,順序查找的效率非常低,時間復(fù)雜度大,所以會采用其他方法進行查找。
目前成都創(chuàng)新互聯(lián)已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、邱縣網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。#includeusing namespace std;
#define size 20
class shunxu {
public:
void searchfun()
{
for (int i = 0; i< size; i++)
{
if (arr[i] == n)
place = i;
}
}
int arr[size];
int n;
int place;
};
void text()
{
shunxu sx;
cout<< "輸入順序查找的內(nèi)容:";
for (int i = 0; i< size; i++)
{
cin >>sx.arr[i];
}
cout<< "輸入要查找的目標(biāo):";
cin >>sx.n;
sx.searchfun();
cout<< "所查找目標(biāo)的位置:"<< sx.place<< endl;
}
int main()
{
text();
}
? 在下面我們從十個數(shù)中查找目標(biāo)數(shù),用折半查找法進行查找(在這里不進行排序,只進行折半查找),如下圖所示。
第一次,low=0、high=9? => mid=4,進行判斷arr[mid] 第二次,low=5、high=9??=> mid=7,進行判斷arr[mid]>n,則定位到前半段,high=mid-1; 第三次,low=5、high=6??=> mid=5,進行判斷arr[mid] 第四次,low=6、high=6? => mid=6,進行判斷arr[mid]=n,找到目標(biāo)值的位置,place=6; 當(dāng)面臨大量數(shù)據(jù)時,我們先將這些數(shù)據(jù)進行排序,再用折半查找法進行查找。這樣可以極大的提高查找效率,降低時間復(fù)雜度從而快速的尋找到目標(biāo)數(shù)。? 你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧#include
分享名稱:【基礎(chǔ)算法】順序查找折半查找&C++實現(xiàn)-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://weahome.cn/article/cssohi.html