ほどほど

掃除と家事、趣味を楽しむずぼら主婦のブログ

C言語 お仕事・勉強・技術情報

C言語:並び替え(バブルソート)

2016/06/22

バブルソートは先週習って、今週はポインタを学習しているのですが、バブルソートの復習をしておこうと思います。

バブルソート(昇順)の大まかな手順。

  1. 配列の一番最後の値とその前を比較。
  2. 小さければ入れ替え。
  3. 順に比較していき、配列の一番先頭(小さいもの)を確定。
  4. それを順に繰り返して、全部の値を確定。

以下、今日の復習です。

スポンサーリンク

「5, 20, 4, 15」という配列を昇順で並び替え

結果表示

4 5 15 20

ソース

#include<stdio.h>

int main(void)
{   
    /* 初期化 */
    int hai[]={5,20,4,15};
    int temp;
    int i,j;

    /* 昇順(小さい順)で並び替え */
    for(i=0;i<=3;i++)
    {
        for(j=3;j>i;j--)
        {
            if(hai[j]<hai[j-1])
            {
                temp=hai[j];
                hai[j]=hai[j-1];
                hai[j-1]=temp;
            }
        }
        printf("%d ",hai[i]);
    }

    return 0;
}

photo credit: Bubbly bliss via photopin (license)

C言語おすすめ本

私がC言語を勉強した時に使っていた本

速習C言語入門[第2版] ~脳に定着する新メソッドで必ず身につく~の第1版を使っていました。
とても読みやすく、わかりやすくてオススメです。

-C言語, お仕事・勉強・技術情報