/***********插入算法实现******************/#include<stdio.h>voidprintln(intarray[],intlen)//定义一个输出数组元素的函数{inti=0;for(i=0;i<len;i++){printf("%d",array[i]);}printf("\n");}voidswap(intarray[],inti,intj)//用于交换两个元素变量{inttemp=array[i];array[i]=array[j];array[j]=temp;}voidInertionSort(intarray[],intlen)//具体插入算法实现{inti=0;intj=0;intk=-1;inttemp=-1;for(i=1;i<len;i++){k=i;temp=array[k];//把第二个元素单个拿出来,并把第一个与第二个元素比较如果大于他,就交换位置把小的插入前一个位置for(j=i-1;(j>=0)&&(array[j]>temp);j--){array[j+1]=array[j];//k=j;}array[k]=temp;//这一步就是把拿出来的数进行插入恰当的位置}}intmain(){intarray[]={21,25,49,25,16,8};intlen=sizeof(array)/sizeof(*array);println(array,len);InertionSort(array,len);println(array,len);return0;}·