希尔排序

来源:互联网 发布:观音掐指准算法 编辑:程序博客网 时间:2024/05/19 19:29


用希尔排序从小到大排序

#include<stdio.h>
#include<iostream>

using namespace std;

void shellsort(int k[], int n)
{
    int i, j, temp,flag, gap = n;
    while (gap>1)
    {
        gap = gap / 2;
        do {
            flag = 0;
            for (i = 0; i < n - gap; i++) {
                j = i + gap;
                if (k[i] > k[j])
                {
                    temp = k[j];
                    k[j] = k[i];
                    k[i] = temp;
                    flag = 1;
                }
            }
        } while (flag != 0);
    }
}


int main()
{
    int i, a[10] = { 2,5,6,3,7,8,0,9,12,1 };
    cout << "the orginal " << endl;
    for (i = 0; i < 10; i++)
        cout << a[i] << " ";
    cout << endl;
    shellsort(a, 10);
    cout << "the result " << endl;
    for (i = 0; i < 10; i++)
        cout << a[i] << " ";
    cout << endl;
    return 0;
}



0 0
原创粉丝点击