簡單的冒泡排序 ---C++版

冒泡排序
從左向右掃描數據,選擇最大的數據,放在右邊。
要點:比較相鄰的兩個數,如果左邊的數大於右邊的數就進行交換

#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行代碼
//每一次掃描的過程中選擇最大的,把它放到右邊

定期更新簡單易懂的算法知識以及專業知識技能,點下關注嘍

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章