冒泡排序
作用:最常用的排序算法,對數組内元素進行排序
1.比較相鄰的元素。如果左邊比第右邊的大,就交換他們兩個。大的右邊,小的要排左邊。
2.對每一對相鄰元素做同樣的動作,執行完畢後,找到第一個最大值。
3.重複以上步驟,每次比較次數-1,直到不需要比較。
列:對以下數組進行升序排列。
代碼實作:
#include <iostream>
using namespace std;
int main(){
//利用冒泡排序實作升序序列
int arr[9]={4,2,8,0,5,7,1,3,9};
cout<<"排序前:"<<endl;
for (int i=0;i<9;i++)
{
cout<<arr[i]<<" ";
}
cout<<endl;
//開始冒泡排序
//總共派資訊輪數為元素個數-1
for(int i=0;i<9-1;i++)
{
//内層循環對比 次數= 元素個數減目前輪數-1
for(int j=0;j<9-i-1;j++)
{
//如果第一個數比第二個數大,交換兩個數字
if(arr[j]>arr[j+1])
{
//熟記此交換代碼
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
//排序後
cout<<"排序後:"<<endl;
for(int i=0;i<9;i++)
{
cout<<arr[i]<<" ";
}
cout<<endl;
return 0;
}
運作結果: