【1】简单选择排序算法的思想
前言:爱炒股票赚钱的人,总是喜欢不断的买进卖出,想通过价差来实现盈利。
但通常这种频繁操作的人,即使失误不多,也会因为操作的手续费和税过高而获利很少。
还有一种做股票的人,他们很少出手,只是在不断的观察和判断,等到时机一到,果断买进或卖出。
他们因为冷静和沉着,以及交易的次数少,而最终收益颇丰。
前边讲的冒泡排序的思想就是不断地在交换,通过交换完成最终的排序,这和做股票短线频繁操作的人是类似的。我们可不可以像只有在时机非常明确到来时才出手的股票高手一样,就是在排序时找到合适的关键字再做交换,并且只移动一次就完成相应关键字的排序定位工作呢?这就是选择排序法的初步思想。
选择排序的基本思想是每一趟在n - i + 1 (i=1,2,…,n- 1)个记录中选取关键字最小的记录作为有序序列的第i个记录。
我们这里介绍的是简单选择排序法。
简单选择排序法(Simple Selection Sort) 就是通过n-i次关键字间的比较,从n - i + 1个记录中选出关键字最小的记录,并和第i (1 < i ≤ n) 个记录交换之。
我们来看代码
【2】代码示例
#include<iostream>
#include<stdio.h>
#include<vector>
using namespace std;
void SSSort(vector<int>&vec) //Simple Selection Sort 简单选择排序算法实现
{
int i, j, min