需要手写的排序算法---希尔排序

来源:互联网 发布:潍坊医学院网络课程 编辑:程序博客网 时间:2024/05/21 06:19
void Shell(int array[] , int n){for(int gap = n/2 ; gap > 0 ; gap /= 2){for(int i = 0 ; i < gap ; i++ ){for(int j = i + gap ; j < n ; j+=gap){//利用插入排序,将每个分组中的元素放到指定的地方int tmp = array[j ];int k = j - gap;while( k >=0 &&tmp < array[k] ){array[k+gap] = array[k];k = k - gap;}array[k+gap] = tmp;}}}}int main(){int n[10] = {9 , 8, 7, 6, 5, 4, 3, 2, 1};Shell(n , 10);cout<<endl;}
http://www.cnblogs.com/skywang12345/p/3597597.html 附上图解链接
                                             
0 0
原创粉丝点击