类似于打牌时的操作,先将手中的牌排好序,抽到新的牌时,通过比较,插入到合适的位置
从小到大排序
示例代码:
#include
using namespace std;
template
T* insert_sort1(T a[],const int n)
{
int i,j,temp;
for(i=1;i
0&&a[j]
T* insert_sort2(T a[],const int n)
{
int i,j,temp;
for(i=1;i
0&&temp
结果:
insert_sort1()与insert_sort2()实现思路略有不同;
结果是一致的
显然,insert_sort2()的执行效率较高(参见编程珠玑);
将函数内循环中两值比较由小于号换成大于号,就能实现由大到小排列;