程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 應用C++的根本算法完成十個數排序

應用C++的根本算法完成十個數排序

編輯:關於C++

應用C++的根本算法完成十個數排序。本站提示廣大學習愛好者:(應用C++的根本算法完成十個數排序)文章只能為提供參考,不一定能成為您想要的結果。以下是應用C++的根本算法完成十個數排序正文


冒泡排序法
道理:
它反復地訪問過要排序的數列,一次比擬兩個元素,假如他們的次序毛病就把他們交流過去。訪問數列的任務是反復地停止直到沒有再須要交流,也就是說該數列曾經排序完成。

冒泡排序算法的運作以下:
1.比擬相鄰的元素。假如第一個比第二個年夜,就交流他們兩個。

2.對每對相鄰元素作異樣的任務,從開端第一對到開頭的最初一對。在這一點,最初的元素應當會是最年夜的數。

3.針對一切的元素反復以上的步調,除最初一個。

4.連續每次對愈來愈少的元素反復下面的步調,直到沒有任何一對數字須要比擬。

示例代碼:

#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;
   }
  }//經由過程每次輪回,沉下去一個最年夜的數
 }//一種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;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved