【算法】选择排序--C++源代码(VS2015)

#include
#include
using namespace std;

/*第i轮循环选取关键字最小的记录作为有序序列中第i个记录*/
void SelectSort(vector &vec)
{
if (vec.size() == 0)
return;
int len = vec.size();
int temp = 0;
for (int i = 0; i < len; i++)
{
temp = i;
for (int j = i + 1; j < len; j++)
{
if (vec[temp] > vec[j])
{
temp = j;
}
}
if (temp != i)
{
swap(vec[i], vec[temp]);
}
}
}

void Print(const vector &vec)
{
for (vector::const_iterator iter = vec.begin(); iter != vec.end(); iter++)
cout << *iter << " ";
cout << endl;
}

int main()
{
int arr[] = { 2,4,6,8,10,1,3,5,7,9 };
vector vec(&arr[0], &arr[10]);
SelectSort(vec);
Print(vec);
system("pause");
return 0;
}

你可能感兴趣的:(【算法】选择排序--C++源代码(VS2015))