ゲーム制作者の為のプログラミング講座 -12ページ目

プログラムの勉強のための問題集 - 問題7.配列のデータをソートしなさい(1)(解答)

■解答■


#include <stdio.h>

int main(){
	int array[] = { 7, 3, 9, 2, 10, 8, 6, 5, 4, 1 };
	
	for(int i=0; i<10; i++){
		int mini	 = 100;
		int index	 = 0;
		for(int j=i; j<10; j++){
			if( mini > array[j] ){
				mini	 = array[j];
				index	 = j;
			}
		}
		int tmp		 = array[i];
		array[i]		 = array[index];
		array[index]	 = tmp;
	}

	for(int i=0; i<10; i++){
		printf( "%3d", array[i] );
	}
	
	return 0;
}

■解説■

まずは、配列の i 番目の要素から最後までの間で

一番小さい数字を探し、index に一番小さい数字の添字を格納しておきます。

次に、一番小さい数字と配列の i 番目の要素を入れ替えることで

ソートをしていっています。


このページのトップはこちら です。