最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語(yǔ)言快速排序與二分查找算法示例

 更新時(shí)間:2018年01月22日 09:02:20   作者:重口味AC  
這篇文章主要介紹了C語(yǔ)言快速排序與二分查找算法,涉及C語(yǔ)言隨機(jī)數(shù)生成、快速排序及二分查找等算法相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了C語(yǔ)言二分排序與查找算法。分享給大家供大家參考,具體如下:

題目:首先產(chǎn)生隨機(jī)數(shù),再進(jìn)行快速排序,再進(jìn)行二分查找。

實(shí)現(xiàn)代碼:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void quiksort(int a[],int low,int high)
{
 int i = low;
 int j = high;
 int temp = a[i];
 if( low < high)
 {
  while(i < j)
  {
   while((a[j] >= temp) && (i < j))
   {
    j--;
   }
   a[i] = a[j];
   while((a[i] <= temp) && (i < j))
   {
    i++;
   }
   a[j]= a[i];
  }
  a[i] = temp;
  quiksort(a,low,i-1);
  quiksort(a,j+1,high);
 }
 else
 {
  return;
 }
}
int search(int x, int v[], int n){
 int low, high, mid;
 low = 0;
 high = n - 1;
 while ( low <= high ) {
  mid = (low + high) / 2;
  if(x < v[mid]){
   high = mid - 1;
  }
  else if(x > v[mid]){
   low = mid + 1;
  }
  else{
   return mid;
  }
 }
 return -1;
}
int main(){
 int arry[100] ;
 int i,j;
 srand((unsigned)time(NULL)); //產(chǎn)生不同的隨機(jī)數(shù)
 for(i=0;i<100;i++)
 {
  j = rand()%100;
  //if(i%2==0) //產(chǎn)生負(fù)數(shù)
  //j =-j;
  arry[i]=j;
 }
 int location;
 int number ;
 quiksort(arry,0,99);//隨機(jī)數(shù)先進(jìn)行排序
 for(i=0;i<100;i++)
 {
  printf("%d ",arry[i]);
 }
 printf("\n");
 printf("請(qǐng)輸入你要查找的數(shù)字");
 scanf("%d",&number);
 location = search(number, arry, 100);
 printf("%d\n", location);
 return 0;
}

心得與體會(huì):

二分查找比較容易理解,就是折半查找法,所以要求數(shù)據(jù)必須是有序數(shù)列。不斷比較中間值。

快速排序是應(yīng)用了遞歸,首先確定一個(gè)關(guān)鍵數(shù)據(jù),再把比他大的放到后面,比他小的放到前面,再分別對(duì)這兩部分進(jìn)行同樣的操作。

希望本文所述對(duì)大家C語(yǔ)言程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 淺析C++11中的右值引用、轉(zhuǎn)移語(yǔ)義和完美轉(zhuǎn)發(fā)

    淺析C++11中的右值引用、轉(zhuǎn)移語(yǔ)義和完美轉(zhuǎn)發(fā)

    對(duì)于c++11來(lái)說(shuō)移動(dòng)語(yǔ)義是一個(gè)重要的概念,一直以來(lái)我對(duì)這個(gè)概念都似懂非懂。最近翻翻資料感覺(jué)突然開(kāi)竅,因此順便記錄下C++11中的右值引用、轉(zhuǎn)移語(yǔ)義和完美轉(zhuǎn)發(fā),方便大家查閱參考。
    2016-08-08
  • C++中的ilst使用以及模擬實(shí)現(xiàn)

    C++中的ilst使用以及模擬實(shí)現(xiàn)

    list是一個(gè)類(lèi)模板,加<類(lèi)型>實(shí)例化才是具體的類(lèi),可以在任意位置進(jìn)行插入和刪除的序列式容器,本文將通過(guò)代碼示例給大家介紹一下C++中的ilst使用以及模擬實(shí)現(xiàn),需要的朋友可以參考下
    2023-08-08
  • C++ 類(lèi)的構(gòu)造函數(shù)詳解及實(shí)例

    C++ 類(lèi)的構(gòu)造函數(shù)詳解及實(shí)例

    這篇文章主要介紹了C++ 類(lèi)的構(gòu)造函數(shù)詳解及實(shí)例的相關(guān)資料,學(xué)習(xí)C++ 的朋友對(duì)構(gòu)造函數(shù)肯定不陌生,非常重要的基礎(chǔ)知識(shí),這里就詳細(xì)介紹下,需要的朋友可以參考下
    2016-12-12
  • C語(yǔ)言修煉之路函數(shù)篇真題訓(xùn)練上

    C語(yǔ)言修煉之路函數(shù)篇真題訓(xùn)練上

    函數(shù)是一組一起執(zhí)行一個(gè)任務(wù)的語(yǔ)句。每個(gè)?C?程序都至少有一個(gè)函數(shù),即主函數(shù)?main()?,所有簡(jiǎn)單的程序都可以定義其他額外的函數(shù)
    2022-03-03
  • C++寫(xiě)Linux框架示例解析

    C++寫(xiě)Linux框架示例解析

    這篇文章主要為大家介紹了C++實(shí)現(xiàn)Linux框架示例代碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 離線(xiàn)安裝visual?studio2022+QT5.12的實(shí)現(xiàn)步驟

    離線(xiàn)安裝visual?studio2022+QT5.12的實(shí)現(xiàn)步驟

    近期有需求離線(xiàn)配置C++與QT環(huán)境,本文主要介紹了離線(xiàn)安裝visualstudio2022+QT5.12的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • C++中字符串全排列算法及next_permutation原理詳解

    C++中字符串全排列算法及next_permutation原理詳解

    這篇文章主要為大家詳細(xì)介紹了C++中字符串全排列(遞歸法)和(迭代法)以及next_permutation底層原理,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2023-02-02
  • C++中perror和fprintf區(qū)別解析

    C++中perror和fprintf區(qū)別解析

    本文主要對(duì)比了C語(yǔ)言中的兩個(gè)函數(shù)perror和fprintf的區(qū)別,perror主要用于輸出與系統(tǒng)錯(cuò)誤相關(guān)的消息,根據(jù)全局變量errno的值生成錯(cuò)誤信息,而fprintf則用于格式化輸出任意類(lèi)型的信息到指定的文件流
    2024-10-10
  • C++ explicit關(guān)鍵字的使用詳解

    C++ explicit關(guān)鍵字的使用詳解

    這篇文章主要介紹了C++ explicit關(guān)鍵字的使用詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • C++實(shí)現(xiàn)比特幣系統(tǒng)的源碼

    C++實(shí)現(xiàn)比特幣系統(tǒng)的源碼

    這篇文章主要介紹了C++實(shí)現(xiàn)比特幣系統(tǒng)的源碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01

最新評(píng)論

榆林市| 东辽县| 金塔县| 区。| 北海市| 平远县| 福安市| 榆中县| 美姑县| 南开区| 新巴尔虎右旗| 横峰县| 大厂| 蕉岭县| 太保市| 民县| 格尔木市| 历史| 二连浩特市| 咸宁市| 习水县| 巧家县| 福泉市| 阿合奇县| 安义县| 金华市| 三河市| 玛纳斯县| 合作市| 阿克| 云和县| 育儿| 尚义县| 阿瓦提县| 通辽市| 宜兰县| 邯郸县| 名山县| 桂平市| 三门县| 蓝田县|