冒泡排序
從左向右掃描數據,選擇最大的數據,放在右邊。
要點:比較相鄰的兩個數,如果左邊的數大於右邊的數就進行交換
#include<iostream>
using namespace std;
void BubbleSort(int list[], int n); //寫函數的聲明,要排序的數據放在一個數組裏,數據的個數用n表示
int main()
{
int a[] = { 2,4,6,8,0,1,3,5,7,9 };
BubbleSort(a, 10);
for (int k = 0; k < 10; k++)
cout << a[k] << " ";
cout << endl;
return 0;
}
void BubbleSort(int list[], int n) //寫函數的定義
{
for (int i = 0; i < n-1; i++) //10個數據掃描9遍,最後一個不用掃描,所以n個數據掃描n-1遍
{
for (int j = 0; j < n-i-1; j++)
{
if (list[j] > list[j + 1]) //如果左邊的大於右邊的,進行交換
std::swap(list[j], list[j + 1]); //當時把j寫成i,運行不出來,std:: 可以省略
}
}
}
//16-21 冒泡排序只要4行代碼
//每一次掃描的過程中選擇最大的,把它放到右邊
定期更新簡單易懂的算法知識以及專業知識技能,點下關注嘍