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 }

 

posted @ 2020-03-04 12:17  youlj  阅读(1473)  评论(0编辑  收藏  举报