ほぼコピペだがバブルソートを実装してみた。
#include <stdio.h> int main(void) { int array[10]; // 配列 int t; // 格納変数 int k1,k2,k3; // 反復変数 k1 = 0; // 反復変数の初期化 while( 1 ) { // -1が出るまで入力 scanf("%d",&t); if( t == -1 ) break; array[k1] = t; k1++; } for( k2=0; k2<k1-1; k2++ ){ for( k3=k1-1; k3>k2; k3-- ){ if( array[k3-1] > array[k3] ){ t = array[k3]; array[k3] = array[k3-1]; array[k3-1] = t; } } } for( k2=0; k2<k1; k2++ ){ // 列挙 printf("%d ",array[k2]); } return 0; }
選択ソートが前から攻めていくイメージならバブルソートは後ろから前から挟んでいくというイメージだろうか。
変数が3つ減ったので単純になった。
とりあえずよくわからない。