浏览器标题切换
浏览器标题切换end

排序

 

参考公众号:https://mp.weixin.qq.com/s?src=11&timestamp=1576558053&ver=2039&signature=mN7nJghjPUfRJJ16i67HUNkjeTL5gz3ietls7XFab6PuX*ZA2Em-YMBe4s7CZkVxWjbHRIjpO2*m11mqYwek2VizShWxRQed02Svh-d2RCJxnFe9rXj6QVcWiEQFSlVz&new=1

 

 

希尔排序:

建立在插入排序(稳定)的基础上,但是不稳定。

 1 #include<stdio.h>
 2 
 3 int a[15]= {8,2,5,9,7,10,1,15,12,3};
 4 
 5 int main()
 6 {
 7     int len=10;
 8     int gap=1;
 9     while(gap<len)
10         gap=gap*3+1; //gap=4;
11     while(gap>0) //gap=4、1
12     {
13         for(int i=gap;i<len;i++)//i=4-9
14         {
15             int kk=a[i];
16             int j=i-gap;
17             while(j>=0&&a[j]>kk)
18             {
19                 a[j+gap]=a[j];
20                 j-=gap;
21             }
22             a[j+gap]=kk;
23         }
24         gap/=3;
25     }
26     for(int i=0;i<10;i++)
27         printf("%d ",a[i]);
28     //1 2 3 5 7 8 9 10 12 15
29     return 0;
30 }
View Code

 



posted @ 2019-10-10 20:40  抓水母的派大星  阅读(234)  评论(0)    收藏  举报