Algorithm-选择排序

// ConsoleApplication21.cpp : 定义控制台应用程序的入口点。
// VS2013

#include "stdafx.h"
#include <iostream>
#include <algorithm>
void selectSort(int a[], const int n)
{
	int k, temp;
	for (int i = 0; i < n - 1; i++)
	{
		k = i;				//从arr[i]检查到arr[n-1],最小的数在a[k];
		for (int j = i; j < n; j++)
		{
			if (a[j] < a[k]) k = j;	//k指示当前找到的最小整数
		}
		if (i != k)			//交换a[i]与a[k]
		{
			temp = a[i];
			a[i] = a[k];
			a[k] = temp;
		}
	}
}

//测试selectSort
int _tmain(int argc, _TCHAR* argv[])
{
	int arr[]{3, 5, 8, 9, 10, 2, 30, 7};
	selectSort(arr, sizeof(arr)/sizeof(int));
	std::for_each(std::begin(arr), std::end(arr), [](int n)//c++11中的Lambdas(匿名函数)
	{
		std::cout << n << " ";
	});
	return 0;
}


你可能感兴趣的:(Algorithm-选择排序)