How to spend the terminal

技術ブログでさえない

C言語におけるバブルソート

ほぼコピペだがバブルソートを実装してみた。

#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つ減ったので単純になった。

とりあえずよくわからない。