C++中級演算法第三天(氣泡排序)
今天寫的這個氣泡排序還是相對前面兩個排序演算法,是簡單了很多的(我個人這樣認為)
OK,下面就讓我們開始今天的演算法吧
氣泡排序
簡單介紹:
氣泡排序(Bubble Sort),是一種電腦科學領域的較簡單的排序演算法
它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序(如從大到小、首字母從A到Z)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素已經排序完成。
這個演算法的名字由來是因為越大的元素會經由交換慢慢“浮”到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名“氣泡排序”。
(從介紹瞭解)要求:
我們需要遍歷多次資料陣列,然後每次遍歷都將相鄰的兩位資料比較排序,所以
上程式碼!!!
程式碼區:
#include <iostream> using namespace std; /* 氣泡排序 */ int bubbleSort(int arr[], int n) { for (inti = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } return 0; } int main() { int arr[10] = { 3,1,2,4,6,5,7,9,8,10 }; cout << "排序前:"; for (int i = 0; i < 10; i++) { cout << arr[i] << ","; } cout << endl; bubbleSort(arr, 10); for (int j = 0; j < 10; j++) { cout << arr[j] << ","; } return 0; }
今天的演算法就到這裡了,明天我們繼續見吧!