1 #include<iostream> 2 #include<vector> 3 using namespace std; 4 5 //冒泡排序,从大到小 6 void Bulldle(int* array,int num) 7 { 8 int i,j,temp; 9 for(i=0;i<num-1;i++) 10 { 11 for(j=i+1;j<num;j++) 12 { 13 if(array[i]<array[j]) 14 { 15 temp = array[i]; 16 array[i] = array[j]; 17 array[j] = temp; 18 } 19 } 20 } 21 } 22 23 //冒泡排序的改进版 24 25 void Bulldle2(int* array,int num) 26 { 27 int i,j,temp; 28 int flag=1; 29 for(i=0;i<num-1&&flag!=0;i++) 30 { 31 flag=0; 32 for(j=i+1;j<num;j++) 33 { 34 if(array[i]<array[j]) 35 { 36 temp = array[i]; 37 array[i] = array[j]; 38 array[j] =temp; 39 flag=1; 40 } 41 } 42 } 43 } 44 45 int main() 46 { 47 int array[]={7,5,2,9,1,3}; 48 Bulldle(array,6); 49 int i; 50 cout<<"冒泡排序"<<endl; 51 for(i=0;i<sizeof(array)/sizeof(int);i++) 52 { 53 cout<<array[i]<<endl; 54 } 55 int array2[]={3,3,4,1,6,8}; 56 Bulldle2(array2,6); 57 cout<<"冒泡排序升级版"<<endl; 58 for(i=0;i<sizeof(array)/sizeof(int);i++) 59 { 60 cout<<array2[i]<<endl; 61 } 62 return 0; 63 } 64 65 66 67