(1) 编程实现直接插入排序(稳定排序算法)
基本思想:
每一趟将一个待排序的记录,按其关键字的大小插入到已经排好序的一组记录的适当位置上,直到所有待排序记录全部插入为止。
#include <iostream>
using namespace std;
void insert_sort(int a[], int n)
{
int i, j, temp;
for(i=1; i<n; i++)
{
temp = a[i];
for(j=i-1; j>=0 && temp <a[j]; j-- )
{
a[j+1] = a[j];
}
a[j+1] = temp;
}
}
void print_array(int a[], int len)
{
for(int i=0; i<len; i++)
{
cout << a[i] <<" " ;
}
cout << endl;
}
int main()
{
int a[] = {
7, 3, 5, 8, 9, 1, 2, 4, 6};
cout << "befor insert sort";
print_array(a, 9);
insert_sort(a, 9);
cout<< "after insert sort" ;
print_array(a,<