欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言實(shí)現(xiàn)順序表的順序查找和折半查找

 更新時(shí)間:2020年11月01日 12:14:39   作者:Andrelia20171760  
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)順序表的順序查找和折半查找,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C語(yǔ)言實(shí)現(xiàn)順序表的順序查找和折半查找的具體代碼,供大家參考,具體內(nèi)容如下

順序查找:

#include <iostream>
using namespace std;
int SeqSearch(int r[],int n,int k)
{
 r[0]=k;//下標(biāo)0用作哨兵存放要查詢的數(shù)
 int i=n;
 while(r[i]!=k)//不用判斷下標(biāo)i是否越界
 {
 i--;
 }
 return i;
}
int main()
{
 int n;
 cout<<"請(qǐng)輸入數(shù)組元素個(gè)數(shù):"<<endl;
 cin>>n;
 int a[n+1];

 cout<<"請(qǐng)輸入數(shù)組元素:"<<endl;
 for(int i=1;i<=n;i++)
 {
 cin>>a[i];
 }
 int k;
 cout<<"請(qǐng)輸入要查詢的數(shù):"<<endl;
 cin>>k;
 for(int i=1;i<=n;i++)
 {
 cout<<a[i]<<" ";
 }
 cout<<endl;
 cout<<"該數(shù)在數(shù)組中的位置為:";
 cout<<SeqSearch(a,n,k);
 return 0;
}

折半查找:

#include<iostream>
using namespace std;
int BinSearch1(int r[],int n,int k)//非遞歸
{
 int low=1,high=n;//設(shè)置查找區(qū)間
 while(low<=high)//如果區(qū)間存在
 {
 int mid=(low+high)/2;
 if(k<r[mid])high=mid-1;//查找在左半?yún)^(qū)進(jìn)行,回到while那一步
 else if(k>r[mid])low=mid+1;
 else return mid;
 }
 return 0;//如果區(qū)間不存在,則返回0,查找失敗

}
int BinSearch2(int r[],int low,int high,int k)//遞歸
{
 int mid=(low+high)/2;
 if(low>high) return 0;
 else
 {
  if(k<r[mid])BinSearch2(r,low,mid-1,k);
  else if(k>r[mid])BinSearch2(r,mid+1,high,k);
  else return mid;
 }

}
int main()
{
 int n;
 cout<<"請(qǐng)輸入數(shù)組元素個(gè)數(shù):";
 cout<<endl;
 cin>>n;
 int a[n+1];

 cout<<"請(qǐng)輸入數(shù)組元素:";
 cout<<endl;
 for(int i=1;i<=n;i++)
 {
 cin>>a[i];
 }
 cout<<"請(qǐng)輸入要查找的數(shù):";
 cout<<endl;
 int k;
 cin>>k;
 cout<<"該數(shù)在數(shù)組中的位置是:"<<endl;
 cout<<BinSearch1(a,n,k);cout<<endl;
 cout<<BinSearch2(a,1,n,k);
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • dword ptr指令詳細(xì)解析

    dword ptr指令詳細(xì)解析

    8086CPU的指令,可以處理兩種尺寸的數(shù)據(jù),byte和word。所以在機(jī)器指令中要指明,指令進(jìn)行的是字操作還是字節(jié)操作
    2013-09-09
  • C語(yǔ)言實(shí)現(xiàn)堆的簡(jiǎn)單操作的示例代碼

    C語(yǔ)言實(shí)現(xiàn)堆的簡(jiǎn)單操作的示例代碼

    堆(heap)是計(jì)算機(jī)科學(xué)中一類特殊的數(shù)據(jù)結(jié)構(gòu)的統(tǒng)稱。堆通常是一個(gè)可以被看做一棵樹的數(shù)組對(duì)象。本文介紹了C語(yǔ)言中堆的一些簡(jiǎn)單操作,需要的可以參考一下
    2022-11-11
  • C++中的對(duì)象數(shù)組詳細(xì)解析

    C++中的對(duì)象數(shù)組詳細(xì)解析

    在建立數(shù)組時(shí),同樣要調(diào)用構(gòu)造函數(shù)。如果有50個(gè)元素,就需要調(diào)用50次構(gòu)造函數(shù)。在需要的時(shí)候,可以在定義數(shù)組時(shí)提供實(shí)參以實(shí)現(xiàn)初始化
    2013-10-10
  • C++你最好不要做的幾點(diǎn)小結(jié)

    C++你最好不要做的幾點(diǎn)小結(jié)

    整理如下,主要是方便剛開始接觸c++的朋友
    2013-01-01
  • c++中拷貝構(gòu)造函數(shù)的參數(shù)類型必須是引用

    c++中拷貝構(gòu)造函數(shù)的參數(shù)類型必須是引用

    如果拷貝構(gòu)造函數(shù)中的參數(shù)不是一個(gè)引用,即形如CClass(const CClass c_class),那么就相當(dāng)于采用了傳值的方式(pass-by-value),而傳值的方式會(huì)調(diào)用該類的拷貝構(gòu)造函數(shù),從而造成無(wú)窮遞歸地調(diào)用拷貝構(gòu)造函數(shù)。因此拷貝構(gòu)造函數(shù)的參數(shù)必須是一個(gè)引用
    2013-07-07
  • C++中指向?qū)ο蟮某V羔樑c指向常對(duì)象的指針詳解

    C++中指向?qū)ο蟮某V羔樑c指向常對(duì)象的指針詳解

    如果一個(gè)變量已經(jīng)被聲明成常變量,則只能用指向常變量的指針變量指向它,而不能用一般的(非const型的)指針變量指向它
    2013-10-10
  • 對(duì)C語(yǔ)言中遞歸算法的深入解析

    對(duì)C語(yǔ)言中遞歸算法的深入解析

    C通過(guò)運(yùn)行時(shí)堆棧支持遞歸函數(shù)的實(shí)現(xiàn)。遞歸函數(shù)就是直接或間接調(diào)用自身的函數(shù)
    2013-07-07
  • 詳解C#byte數(shù)組怎么傳入C

    詳解C#byte數(shù)組怎么傳入C

    在本篇內(nèi)容里小編給大家整理了關(guān)于C#byte數(shù)組怎么傳入C的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)參考下。
    2019-03-03
  • 如何在C語(yǔ)言中判斷socket是否已經(jīng)斷開

    如何在C語(yǔ)言中判斷socket是否已經(jīng)斷開

    如果不主動(dòng)關(guān)閉socket的話,系統(tǒng)不會(huì)自動(dòng)關(guān)閉的,除非當(dāng)前進(jìn)程掛掉了,操作系統(tǒng)把占用的socket回收了才會(huì)關(guān)閉。小編今天跟大家簡(jiǎn)單介紹下如何在C語(yǔ)言中判斷socket是否已經(jīng)斷開
    2019-05-05
  • c++隱式類型轉(zhuǎn)換示例分享

    c++隱式類型轉(zhuǎn)換示例分享

    這篇文章主要介紹了c++隱式類型轉(zhuǎn)換的二個(gè)示例,需要的朋友可以參考下
    2014-03-03

最新評(píng)論