1. 程式人生 > >C ++氣泡排序演算法

C ++氣泡排序演算法

氣泡排序的原理:比較兩個相鄰的元素,將最大的元素交換至右端。

#include <iostream>
#include <stdlib.h>
using namespace std;


/****************************************************************/
/*  氣泡排序
/***************************************************************/

void swap(int array[], int j)  // 位置互換函式
{
    int temp = array
[j]; array[j] = array[j + 1]; array[j + 1] = temp; } void BubbleSort(int array[], int n) // 氣泡排序函式 { for (int i = 0; i < n - 1; i++) // n - 1 為比較的輪數。 { for (int j = 0; j < n - 1 - i; j++) // n - 1 - i 為每輪比較的次數。 { if (array[j] > array[j + 1
]) { swap(array[j], array[j + 1]); //如果條件成立,就呼叫swap函式進行位置互換 } } } } int main(void) //主程式 { const int n = 6; //陣列元素的數量 int array[n]; cout << "請輸入6個整數:" << endl; for (int i = 0; i < n; i++) { cin >> array
[i]; } cout << endl; //換行 BubbleSort(array, n); // 呼叫BubbleSort函式 進行比較 cout << "由小到大的順序排列後:" << endl; for (int i = 0; i < n; i++) { cout << array[i] << ","; } cout << endl << endl; //換行 system("pause"); //除錯時,黑視窗不會閃退,一直保持 return 0; }

執行結果:
氣泡排序