STEP 7.3 (bubble sort) (Sort Cの方法)

問題

実行例

アドバイス

例題集

解答例

[プログラムテンプレート(未完)]

コードをハイライトすると、簡単な文法解説が表示されます(現在、停止中)

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define N 10
int a[100];

void set_array(void);
void print_array(void);

void set_array (void) { //100未満の乱数 N個生成して、配列にセット
     int i;

     srand((unsigned)time(NULL));
 
     for(i = 0; i < N; i++)
         a[i] = rand()%100;
}

void print_array() { // 配列をプリント
     int i;
 
     printf("   i:");
     for(i=0; i < N; i++) {
         printf("%3d ",i);
     }
     printf("\n");

     printf("a[i]:");
     for(i=0; i < N; i++) {
         printf("%3d ",a[i]);
     }
     printf("\n");
     printf("\n");
}

int main(void){

    int i,j; /* 必要な変数を追加のこと */
    int t;   /* 挿入対象の値 */

    set_array(); // N個乱数を配列にセット
    print_array(); // ソート前プリント

    /* a[]をバブルソートする */
    for (i = 0; i < N ; i ++) {
        for (j = N - 1 ; j > i ; j--) { /*  jは最後尾から前向き */
            if (a[j-1] > a[j]) { /* 隣り合う2つを比較 */
                temp = a[j];  /* 交換 */
                a[j] = a[j-1];
                a[j-1]=temp;
            }
        }
    }

    print_array(); // ソート後プリント

    return 0;
}