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

利用C++的基本算法實現十個數排序

 更新時間:2013年10月21日 09:17:13   作者:  
以下是對利用C++的基本算法實現十個數排序的代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助

冒泡排序法
原理:
它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。

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

2.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數。

3.針對所有的元素重復以上的步驟,除了最后一個。

4.持續(xù)每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。

示例代碼:

復制代碼 代碼如下:

#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;
   }
  }//通過每次循環(huán),沉下去一個最大的數
 }//一種10個數,沉下去9個最大的數,就可以排序了
 for(i=0;i<10;i++){
  cout<<a[i]<<'\t';
 }
 cout<<endl;
 return 0;
}

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

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

第i趟簡單選擇排序是指通過n-i次關鍵字的比較,從n-i+1個記錄中選出關鍵字最小的記錄,并和第i個記錄進行交換。共需進行i-1趟比較,直到所有記錄排序完成為止。例如:進行第i趟選擇時,從當前候選記錄中選出關鍵字最小的k號記錄,并和第i個記錄進行交換。

示例代碼:

復制代碼 代碼如下:

#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;
}

相關文章

  • C語言 OpenCV實現柱面投影

    C語言 OpenCV實現柱面投影

    在做全景拼接的時候,為了保持圖片中的空間約束與視覺的一致性,需要進行柱面投影,否則離中心圖像距離越遠的圖像拼接后變形越大。本文將具體介紹一下這如何實現,需要的可以參考一下
    2021-12-12
  • 純C語言實現火車售票系統(tǒng)

    純C語言實現火車售票系統(tǒng)

    這篇文章主要為大家詳細介紹了純C語言實現火車售票系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • C++函數的嵌套調用和遞歸調用學習教程

    C++函數的嵌套調用和遞歸調用學習教程

    這篇文章主要介紹了C++函數的嵌套調用和遞歸調用學習教程,是C++入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • C語言數據結構與算法時間空間復雜度基礎實踐

    C語言數據結構與算法時間空間復雜度基礎實踐

    這篇文章主要為大家介紹了C語言數據結構與算法中時間空間復雜度的基礎實踐,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-02-02
  • C語言 實現遍歷一個文件夾的所有文件

    C語言 實現遍歷一個文件夾的所有文件

    這篇文章主要介紹了C語言 實現遍歷一個文件夾的所有文件的相關資料,需要的朋友可以參考下
    2017-01-01
  • c++ int轉string方法

    c++ int轉string方法

    int 轉string的方法,用到了特分享一下方便需要的朋友
    2013-01-01
  • 關于數據結構單向鏈表的各種操作

    關于數據結構單向鏈表的各種操作

    這篇文章主要介紹了關于數據結構單向鏈表的各種操作,關于數據結構鏈表的操作一般涉及的就是增刪改查,下面將關于無空頭鏈表展開介紹,需要的朋友可以參考下
    2023-04-04
  • 字符串拷貝函數memcpy和strncpy以及snprintf 的性能比較

    字符串拷貝函數memcpy和strncpy以及snprintf 的性能比較

    以下是對字符串拷貝函數memcpy和strncpy以及snprintf它們之間的性能進行了比較,需要的朋友可以過來參考下
    2013-07-07
  • C語言進階教程之字符函數和字符串函數

    C語言進階教程之字符函數和字符串函數

    C語言中對字符和字符串的處理很是頻繁,但是C語言本身是沒有字符串類型的,字符串通常放在常量字符串中或者字符數組中,下面這篇文章主要給大家介紹了關于C語言進階教程之字符函數和字符串函數的相關資料,需要的朋友可以參考下
    2022-11-11
  • C++關于引用作為函數的用法

    C++關于引用作為函數的用法

    今天小編就為大家分享一篇關于C++關于引用作為函數的用法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12

最新評論