天天看點

數組實作冒泡法和選擇法排序(C++)

#include <iostream>

#include <iomanip>

using namespace std;

void bubble_sort(int arry[],int num);

void getArry(int arry[],int num);

void outArry(int arry[],int num);

void select_sort(int[],int);

int main()

{

   const  int num=3;//數組的大小必須确定

int arry[num];

getArry(arry,num);

// bubble_sort(arry,4);

// outArry(arry,4);

select_sort(arry,num);

outArry(arry,num);

return 0;

}

//冒泡法,每一次,前一個數和後一個數比較大小

void  bubble_sort(int arry[],int n){

int temp;

for(int i=0;i<n-1;i++){

for(int j=0;j<n-1-i;j++){

if(arry[j]>arry[j+1]){

temp=arry[j];

arry[j]=arry[j+1];

arry[j+1]=temp;

}

}

}

}

//選擇法,第一次,第一個數和後面的所有數比較大小。第二次,第二個數和後面的所有數比較大小,以此類推

void select_sort(int arry[],int n){

int temp;

for(int i=0;i<n-1;i++){

for(int j=i+1;j<n;j++){

if(arry[i]>arry[j]){

temp=arry[i];

arry[i]=arry[j];

arry[j]=temp;

}

}

}

}

void  getArry(int arry[],int num){

for(int i=0;i<num;i++){

cin>>arry[i];

}

}

void   outArry(int arry[],int num){

for(int i=0;i<num;i++){

cout<<arry[i]<<setw(8);

}

}

總結:

1.數組錯誤定義:

int n;

cin>>n;

int a[n];       //企圖如此來确定數組的長度是不可以的!

 正确方法:

const int 5;

2 在c++中main函數最好不要定義成void的

   傳回值0代表正常結束

3 函數聲明的時候要申明函數的類型

4 數組的大小求法:int sum=sizeof(arry)/sizeof(int)