天天看点

数组实现冒泡法和选择法排序(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)