C++实现冒泡排序


❤冒泡排序,一种稳定的排序算法,即相同元素之间不会发生交换.以下为代码实现,如有不足,欢迎下方留言❤

 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]<<"\t"; 34  } 35     cout<<endl; 36 
37     system("pause"); 38     return 0; 39 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM