プログラムの勉強のための問題集 - 問題8.配列のデータをソートしなさい(2)(解答)
■解答■
#includeint main(){ int array[] = { 7, 3, 9, 2, 10, 8, 6, 5, 4, 1 }; for(int i=0; i<10; i++){ for(int j=9; j>0; j--){ if( array[j] < array[j-1] ){ int tmp = array[j]; array[j] = array[j-1]; array[j-1] = tmp; } } } for(int i=0; i<10; i++){ printf( "%3d", array[i] ); } return 0; }
■解説■
このように、2重でループをかけます。
外側の i のループはソートの対象が10種類の数列であると言うことを意味し、
内側の j は数列の後ろから数字を見ていき、隣と比べている部分になります。
このページのトップはこちら です。