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

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

  • å®‰å®šćŖć‚½ćƒ¼ćƒˆć‚¢ćƒ«ć‚“ćƒŖć‚ŗćƒ ć ćŒčØˆē®—é‡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