C++データ構造とアルゴリズム選択ソートSelectSort()

1214 ワード

3、ソートの選択
現在並べ替えられていない数から最小の数を選択し、並べ替えられた配列リストの最後に配置します.
ポイント:最小値を選択し、左に置きます
void SelectSort(int* List, int N)	// N =     ,          。
{
    //           n 
    for (int i = 0; i < N; i++)
    {
        int min = i;	// min    (  /  ),               ,  i     。
        /*                   ,             ,
                   0  ,   i + 1    */
        for (int j = i + 1; j < N; j++)
        {
            //                ,         。
            if (List[j] < List[min])
            {
                //                 j   。(    )
                min = j;
            }
        }
        /*                    ,         ,        
            ,   i++,   List[min]  List[i] 。 */
        //     min  ,      i    。
        Swap(List[i], List[min]);
    }
}
int main()
{
	int Num[] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };	//   
	int Num_Size = sizeof(Num) / sizeof(int);		//     

	cout << "     :";
	for (int i = 0; i < Num_Size; ++i)
	{
		cout << Num[i] << '\t';
	}
	cout << endl;

	cout << "     :";
	SeleteSort(Num, Num_Size);
	for (int i = 0; i < Num_Size; ++i)
	{
		cout << Num[i] << '\t';
	}
}