//三大排序
#include <iostream>
using namespace std;
void SelectionSort(int a[],int size){ //选择排序:选取一个最小的放在第一个位置,在选取第二小的放在第二个位置.....
int i,j;
for(i = 0;i<size-1;++i){
int tempMin = i; //监听
for(j = i+1;j<size;++j){
if(a[j]<a[tempMin]){
tempMin = j;;
}
}
int tmp = a[i];
a[i] = a[tempMin];
a[tempMin] = tmp;
}
}
void InsertionSort(int a[],int size){//插入排序:让无序(最右边)插入到有序(最左边)
int i,j;
for(i = 1;i<size;++i) //无序
for(j = 0;j<i;++j) //有序
if(a[j]>a[i]){
int temp = a[i];
for(int k = i;k>j;--k)
a[k] = a[k-1];
a[j] = temp;
break;
}
}
void BubbleSort(int a[],int size){ //冒泡排序:两两比较
for(int i = size-1;i>0;--i){ //一次把最重的放在最后
for(int j = 0;j<i;++j)
if(a[j]>a[j+1]){
int tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
}
int main(){
int Array[10] = {2,1,4,5,1,2,4,5,110},len= 10,i;
BubbleSort(Array,len);
for(i = 0;i<10;i++){
cout<<"-"<<Array[i];
}
return 0;
}
网友评论