guozhiwei 发表于 2013-2-5 01:06:58

插入排序

  最近看《算法导论》,它对一些算法提供了伪代码,我就想用c/c++把它实现出来。
  插入排序的伪码:
 
insertion_sort(A)for j <--2 to length    do key <-- A      //insert A into the sorted sequence A      i <-- j-1      while i>0 and A>key            do A <-- A                i <-- i-1      A <-- key       我感觉这种伪代码对于算法的描述能力非常强,不过需要读懂上面那段伪码,还需要去查看《算法导论》中伪代码中的一些符号约定。
  我自己照猫画虎用c写了个int型的插入排序算法。
 
#include <stdio.h>bool insertion_sort(int a[],int len){int j;int i;int key; for(j=1;j<len;j++){key=a;i=j-1;while(i>=0 && a>key){a=a;i=i-1;}a=key;}return true;}int main(void){int a[]={5,2,2,2,4,3,8,1,3};int i;int len;len=sizeof(a)/sizeof(a); //计算数组的个数insertion_sort(a,len);for(i=0;i<len;i++){printf("%d\n",a);}return 0;}  以上只是简单的对int型进行排序,还打算用c++的模板写一个泛型的插入算法。到时候写好以后再发上来。
页: [1]
查看完整版本: 插入排序