直接插入排序的C++实现及随机数组的产生方法这是之前的插入排序的例子程序,改用STL实现后暂时并没有体现vector的优势,以下是插入排序的STL实现
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<time.h>
#include<cstdio>
#include<vector>
using namespace std;
// 生成元素为随机数的数组
template <typename T>
void Random(vector<T> & a)
{
int i=0;
srand( (unsigned)time( NULL ) );
while(i<a.size())
{
a[i++]=rand();
}
}
template <typename T>
void InsertSort(vector<T> & a)
{
int i, j;
T temp;
for (i= 1; i < a.size(); i++)
{
temp = a[i];//这个是未排序数据的第一个,要把它插入到合适的位置
for (j = i-1; j >= 0 && temp < a[j]; j--)//a[j]是排序区的最后一个数据