真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

【基礎(chǔ)算法】順序查找折半查找&C++實現(xiàn)-創(chuàng)新互聯(lián)

●順序查找

? 順序查找比較簡單,就是順序遍歷我們所要查找的內(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ù)。?

#includeusing namespace std;
#define size 20
class halfsearch {
public:
	void bullesort_1();  //對隨機生成的數(shù)進行排序,隨機找一種排序算法即可,這里用冒泡這種簡單排序法
	int halfsearch_1()  //折半查找
	{
		int low=0, mid, high=size-1;
		while (low<=high)
		{
			mid = (low + high) / 2;     //折半
			if (arr[mid] == n)
				return place = mid;
			else if (arr[mid] >n)    //目標(biāo)數(shù)在前一半里
				high = mid - 1;
			else                      //目標(biāo)數(shù)在后一半里
				low = mid + 1;
		}
		return place = 0;
	}
	void showplace()
	{
		if (place == 0)
			cout<< "沒有找到"<< endl;
		else
			cout<< "找到目標(biāo)數(shù)且位置為:"<< place+1<< endl;
	}
	int arr[size];
	int n;
	int place;
};
void halfsearch::bullesort_1()  //冒泡排序法
{
		int temp;
		for (int i = 0; i< size-1; i++)
		{
			for(int j=size-1;j>i;j--)
			{ 
				if (this->arr[j ]< this->arr[i])
				{
					temp = this->arr[j ];
					this->arr[j ] = this->arr[i];
					this->arr[i] = temp;
				}
			}
		}
}
void text()
{
	halfsearch hs;
	srand(time(NULL)); 
	for(int i=0;i>hs.n;   //輸入要查找的目標(biāo)數(shù)
	hs.halfsearch_1();   //進行折半查找
	hs.showplace();  //輸出查找到的位置
}
int main()
{
	text();
}


你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


分享名稱:【基礎(chǔ)算法】順序查找折半查找&C++實現(xiàn)-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://weahome.cn/article/cssohi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部