šŸ“• ćƒćƒ–ćƒ«ć‚½ćƒ¼ćƒˆ.

šŸ“Œćƒćƒ–ćƒ«ć‚½ćƒ¼ćƒˆć®ē‰¹å¾“.

  • 安定ćŖć‚½ćƒ¼ćƒˆć‚¢ćƒ«ć‚“ćƒŖć‚ŗ惠恠恌č؈ē®—量O(n^2).

šŸ“Œćƒćƒ–ćƒ«ć‚½ćƒ¼ćƒˆć®ę‰‹é †.

ęŒæå…„ć‚½ćƒ¼ćƒˆåŒę§˜ć«[ć‚½ćƒ¼ćƒˆęøˆćæ恮éƒØ分列]ćØ[ęœŖć‚½ćƒ¼ćƒˆć®éƒØ分列]ć«åˆ†ć‘ć‚‰ć‚Œć‚‹.

1ļøāƒ£é…åˆ—ć®ęœ«å°¾ć‹ć‚‰éš£ęŽ„恙悋要ē“ ć‚’é †ē•Ŗ恫ęÆ”ć¹ć€å¤§å°é–¢äæ‚ćŒé€†ć®å “合ćÆå…„ć‚Œę›æ恈悋.

#include <iostream>

using namespace std;

// ćƒćƒ–ćƒ«ć‚½ćƒ¼ćƒˆ
void bubble(int A[], int N) {
    
    // i:ęœŖć‚½ćƒ¼ćƒˆéƒØåˆ†ć®å…ˆé ­ć‚¤ćƒ³ćƒ‡ćƒƒć‚Æć‚¹.
    for (int i = 0; i < N; i++) {
        // j:ęœŖć‚½ćƒ¼ćƒˆéƒØåˆ†ć®éš£ć‚Šåˆć†č¦ē“ ć‚’ęÆ”č¼ƒć™ć‚‹ć‚¤ćƒ³ćƒ‡ćƒƒć‚Æć‚¹.
        // 配列Ać®ęœ«å°¾(N-1)恋悉i+1ć¾ć§ć‚’ē§»å‹•.
        for (int j = N - 1; j >= i + 1; j--) {
            // éš£ć‚Šåˆć†č¦ē“ ć‚’ęÆ”č¼ƒ.
            if (A[j] < A[j - 1]) {
                int tmp = A[j];
                A[j] = A[j - 1];
                A[j - 1] = tmp;
            }
        }
    }
}

šŸ”ŽåÆ¾č±”ć‚½ćƒ¼ć‚¹ćÆ仄äø‹ć«ę ¼ē“.

/source/1.sort/bubble.cpp