摘要:
基本思想是:先对隔得比较远的元素进行比较,而不是像简单交换顺序算法中那样比较相邻的元素。这样可以快速地减少大量的无序情况,以后就可以少做些工作。各个被比较的元素之间的距离在逐步减少,一直减少到1,此时排序变成了相邻元素的互换。/*以递增顺序对v[0]、v[1]、......、v[n-1]进行排序*/void shellsort(int v[],int n){ int gap,i,j,temp; for(gap=n/2;gap>0;gap/=2) for(i=gap;i<n;i++) for(j=i-gap;j>=0&&v[j]>v[j+gap];... 阅读全文
摘要:
for(i=0;i<n;i++) printf("%6d%c",a[i],(i%10==9||i==n-1)?'\n':' ');循环打印一个数组n个元素,每行打印10个元素,每一列之间用一个空格隔开,每行用一个换行符结束。i%9==0 ---- i从0开始算起。 阅读全文