关于排序,你最重要的一定要学会它的思想,也就是通过什么方式排序?这里就是一个插入法,也就是无序的元素,依次插入有序的序列中,是和前面有很明显的不同,前面都是相互交换,这里是插进去,看到区别了吗?
插入排序也是很简单的一种,看代码吧,没什么好说的:
#include<iostream>
using namespace std;
template <class T>
void insort(T p[],int n){
int j,k;
T t;
for(j=1;j<n;j++)
{
t=p[j];
k=j-1;
while((k>=0)&&(p[k]>t)){
p[k+1]=p[k];
k=k-1;
}
p[k+1]=t;
}
return ;
}
依然是调用函数的时候改为,insort(p+10,30)就好了。
介绍插入排序,是为了后面的希尔排序。