练习2014081902

/********************************************************************
@file     Main_practise.cpp
@date     2014-8-19
@author   Tiger
@brief    範例:選擇排序法( Selection Sort )
@details  找到第一小的數字,放在第一個位置;再找到第二小的數字,
		  放在第二個位置。一次找一個數字,如此下去就會把所有數值
		  按照順序排好了。
********************************************************************/
#include <iostream>

const int SIZE = 5;

void SelectionSort(int arr[], int n);
void Swap(int&a, int&b);

int main(int argc, const char* argv[])
{
	int arr[SIZE] = {3, 6, 9, -8, 1};
	SelectionSort(arr, SIZE);

	for (int i=0; i<SIZE; ++i)
	{
		std::cout << arr[i] << " ";
	}
	std::cout << std::endl;

	system("pause");
	return 0;
}

void SelectionSort(int arr[], int n)
{
	for (int i=0; i<n; ++i)
	{
		int nMinIndex = i;
		for (int j=i+1; j<n; ++j)
		{
			if (arr[j] < arr[nMinIndex])
			{
				nMinIndex = j;
			}
		}
		Swap(arr[i], arr[nMinIndex]);
	}
}

void Swap(int&a, int&b)
{
	int nTemp = a;
	a = b;
	b = nTemp;
}

练习2014081902

时间: 2024-11-12 08:01:08

练习2014081902的相关文章