❤冒泡排序,一种稳定的排序算法,即相同元素之间不会发生交换.以下为代码实现,如有不足,欢迎下方留言❤
1 #include<iostream> 2 3 using namespace std; 4 5 //交换元素 6 void swap(int *num1,int *num2){ 7 int temp=*num1; 8 *num1=*num2; 9 *num2=temp; 10 } 11 12 //冒泡排序实现 13 void bubbleSort(int arr[],int len){ 14 for(int i=0;i<len-1;i++){ 15 bool sorted=true; 16 for(int j=0;j<len-1-i;j++){ 17 if(arr[j]>arr[j+1]){ 18 swap(&arr[j],&arr[j+1]); 19 sorted=false; 20 } 21 } 22 if(sorted)break;//如果没有发生交换,则表示已排好序,跳出, 23 //不用像选择排序那样对每个元素都要进行遍历排序,执行n-1次(n即元素个数). 24 } 25 } 26 27 //测试 28 int main(void){ 29 int girl[]={21,32,17,33,20,34,28,27,33}; 30 int len=sizeof(girl)/sizeof(girl[0]);//获取元素个数 31 bubbleSort(girl,len); 32 for(int i=0;i<len;i++){ 33 cout<<girl[i]<<" "; 34 } 35 cout<<endl; 36 37 system("pause"); 38 return 0; 39 }