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

利用C++的基本算法實(shí)現(xiàn)十個(gè)數(shù)排序

 更新時(shí)間:2013年10月21日 09:17:13   作者:  
以下是對(duì)利用C++的基本算法實(shí)現(xiàn)十個(gè)數(shù)排序的代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助

冒泡排序法
原理:
它重復(fù)地走訪過(guò)要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序錯(cuò)誤就把他們交換過(guò)來(lái)。走訪數(shù)列的工作是重復(fù)地進(jìn)行直到?jīng)]有再需要交換,也就是說(shuō)該數(shù)列已經(jīng)排序完成。

冒泡排序算法的運(yùn)作如下:
1.比較相鄰的元素。如果第一個(gè)比第二個(gè)大,就交換他們兩個(gè)。

2.對(duì)每一對(duì)相鄰元素作同樣的工作,從開始第一對(duì)到結(jié)尾的最后一對(duì)。在這一點(diǎn),最后的元素應(yīng)該會(huì)是最大的數(shù)。

3.針對(duì)所有的元素重復(fù)以上的步驟,除了最后一個(gè)。

4.持續(xù)每次對(duì)越來(lái)越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對(duì)數(shù)字需要比較。

示例代碼:

復(fù)制代碼 代碼如下:

#include<iostream> 
using namespace std;
int main(){
 //按照升序排列
 int a[10]={15,13,2,3,6,5,88,-3,30,40};
 int i,j,t;
 for(i=0;i<9;i++){
  for(j=0;j<(9-i);j++){
   if(a[j]>a[j+1]){
    t=a[j+1];
    a[j+1]=a[j];
    a[j]=t;
   }
  }//通過(guò)每次循環(huán),沉下去一個(gè)最大的數(shù)
 }//一種10個(gè)數(shù),沉下去9個(gè)最大的數(shù),就可以排序了
 for(i=0;i<10;i++){
  cout<<a[i]<<'\t';
 }
 cout<<endl;
 return 0;
}

分析:通過(guò)兩兩比較,第一次排序,會(huì)將最大的數(shù)88放到最后面a[9]中。。。。第九趟,a[1]=2,然后就排序完成

選擇排序法
原理:
選擇排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)個(gè)記錄中選取關(guān)鍵字最小的記錄作為有序序列中第i個(gè)記錄。

第i趟簡(jiǎn)單選擇排序是指通過(guò)n-i次關(guān)鍵字的比較,從n-i+1個(gè)記錄中選出關(guān)鍵字最小的記錄,并和第i個(gè)記錄進(jìn)行交換。共需進(jìn)行i-1趟比較,直到所有記錄排序完成為止。例如:進(jìn)行第i趟選擇時(shí),從當(dāng)前候選記錄中選出關(guān)鍵字最小的k號(hào)記錄,并和第i個(gè)記錄進(jìn)行交換。

示例代碼:

復(fù)制代碼 代碼如下:

#include<iostream> 
using namespace std;
int main(){
 //按照升序排列
 int a[10]={15,13,2,3,6,5,88,-3,30,40};
 int i,j,t,k=0;
 for(i=0;i<9;i++){
     k=i;
  for(j=i+1;j<10;j++){
      if(a[j]<a[k]){
       k=j;
      }     
  }
  t=a[k];
  a[k]=a[i];
  a[i]=t;
 }
 for(i=0;i<10;i++){
  cout<<a[i]<<'\t';
 }
 cout<<endl;
 return 0;
}

相關(guān)文章

  • Qt實(shí)現(xiàn)對(duì)Word網(wǎng)頁(yè)的讀取功能

    Qt實(shí)現(xiàn)對(duì)Word網(wǎng)頁(yè)的讀取功能

    文章介紹了幾種在Qt中實(shí)現(xiàn)Word文檔(.docx/.doc)讀寫功能的方法,包括基于QAxObject的COM接口調(diào)用、DOCX模板替換及跨平臺(tái)解決方案,重點(diǎn)討論了每種方法的實(shí)現(xiàn)細(xì)節(jié)、適用場(chǎng)景和性能優(yōu)化技巧,需要的朋友可以參考下
    2025-12-12
  • C++11各種鎖的具體使用

    C++11各種鎖的具體使用

    本文主要介紹了C++11各種鎖的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C++ Boost Algorithm算法超詳細(xì)精講

    C++ Boost Algorithm算法超詳細(xì)精講

    Boost.Algorithm 提供了補(bǔ)充標(biāo)準(zhǔn)庫(kù)算法的算法。與 Boost.Range 不同,Boost.Algorithm 沒(méi)有引入新概念。 Boost.Algorithm 定義的算法類似于標(biāo)準(zhǔn)庫(kù)中的算法
    2022-10-10
  • c++中const的使用詳解

    c++中const的使用詳解

    本篇文章是對(duì)c++中的const的應(yīng)用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C C++ 題解LeetCode2360圖中的最長(zhǎng)環(huán)示例

    C C++ 題解LeetCode2360圖中的最長(zhǎng)環(huán)示例

    這篇文章主要為大家介紹了C C++ 題解LeetCode2360圖中的最長(zhǎng)環(huán)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • C語(yǔ)言實(shí)現(xiàn)俄羅斯方塊課程設(shè)計(jì)

    C語(yǔ)言實(shí)現(xiàn)俄羅斯方塊課程設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)俄羅斯方塊課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 深入理解Qt 初始項(xiàng)目代碼

    深入理解Qt 初始項(xiàng)目代碼

    本文解析了Qt項(xiàng)目創(chuàng)建后的主要文件,包括main.cpp、mywidget.h、mywidget.cpp、mywidget.ui和.pro,main.cpp這五個(gè)文件,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-02-02
  • C++中類的轉(zhuǎn)換函數(shù)你了解嗎

    C++中類的轉(zhuǎn)換函數(shù)你了解嗎

    這篇文章主要為大家詳細(xì)介紹了C++中類的轉(zhuǎn)換函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • 一篇文章帶你入門C語(yǔ)言:函數(shù)

    一篇文章帶你入門C語(yǔ)言:函數(shù)

    這篇文章主要介紹了C語(yǔ)言中函數(shù)的聲明、定義及使用的入門教程,重點(diǎn)講述了main函數(shù)的相關(guān)知識(shí),需要的朋友可以參考下,希望能給你帶來(lái)幫助
    2021-08-08
  • C++ 智能指針原理、使用與最佳實(shí)踐指南

    C++ 智能指針原理、使用與最佳實(shí)踐指南

    本文全面介紹了C++智能指針的使用,包括RAII思想、標(biāo)準(zhǔn)庫(kù)實(shí)現(xiàn)、核心原理和實(shí)際問(wèn)題解決,重點(diǎn)講解了unique_ptr、shared_ptr和weak_ptr的使用場(chǎng)景、優(yōu)缺點(diǎn)及特殊資源管理,感興趣的朋友跟隨小編一起看看吧
    2025-11-11

最新評(píng)論

安庆市| 雅安市| 辛集市| 公主岭市| 南江县| 巫溪县| 青州市| 鲁山县| 沅陵县| 双辽市| 井冈山市| 内丘县| 娱乐| 从化市| 普洱| 尼木县| 永清县| 宜兰市| 宜君县| 南丹县| 临潭县| 武夷山市| 资兴市| 葫芦岛市| 运城市| 达州市| 元江| 留坝县| 合江县| 潼南县| 台中县| 嘉兴市| 衡阳市| 台前县| 郧西县| 锦屏县| 九江县| 澄城县| 扬州市| 赣州市| 武胜县|