《算法导论》读书笔记2:shell 排序

来源:互联网 发布:营销地图软件 编辑:程序博客网 时间:2024/05/29 14:55


shell排序:

奇妙的想法,没啥是不可突破的,想突破还是不想突破呢。


#include <stdlib.h>#include <stdio.h>int main() {    int a[11] = {10,14,90,20,3,40,91,80,20,70,12};      int i,j,k,tmp,n,p;          for(n=3;n>0;n--) {           for(p=0;p<n;p++) {            for(i=p+n;i<sizeof(a)/sizeof(int);i+=n){                  for(j=p;j<i;j+=n) {                      if(a[i] < a[j] ) {                          tmp = a[i];                          for(k=i;k>j;k--) {                              a[k] = a[k-1];                          }                          a[j] = tmp;                      }                  }              }        }    }        for(i = 0; i<sizeof(a)/sizeof(int); i++) {        printf("  %d  ",a[i]);    }    return 0;  }

原创粉丝点击