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