选择排序算法

选择排序算法原理不再多说,用下图或则代码比较好理解:


#include <iostream>
namespace mySort
{
	void selectSort(int * data, int left, int right)
	{
		for (int i = left; i < right; ++i)
		{
			int index = i;
			for (int j = i + 1; j <= right; ++j)
			{
				if (data[index] > data[j])
				{
					index = j;
				}
			}
			//找到右边最小的一个数,然后交换
			int temp = data[i]; data[i] = data[index]; data[index] = temp;
		}
	}
};

int main()
{
	int a[] = { 2,1};
	mySort::selectSort(a, 0, 1);
	return 0;
}


时间复杂度:O(N*N)

 

posted @ 2014-08-21 21:08  旧客图新  阅读(130)  评论(0编辑  收藏  举报