c++学習ノート(6)選択ソートとバブルソート

840 ワード

消費を含む:
ソートを選択:
//           O(n^2)  //    ,             ,          
void select_sort(int a[], int n)  //    
{
	int i, j, k;
	for( i = 0; i < n - 1; i++ )
	{
		j = i;
		for( k = i + 1; k < n; k++ )
			if(a[k] < a[j]) j = k;
		if(j != i) 
		{
			int temp = a[i];
			a[i] = a[j];
			a[j] = temp;
		}
	}
}


    :
//      //   ,             ,              
//    :      O(n^2)
void bubble_sort(int a[], int n)
{
	int i, j;
	for( i = n - 1, change = TRUE; i > 1 && change; i-- ) //     
	{
		change = FALSE;
		for( j = 0; j < i; j++ )
			if( a[j] > a[j + 1])
			{
				int temp = a[j + 1];
				a[j + 1] = a[j];
				a[j] = temp;
				change = TRUE;
			}
	}
}