用希尔排序算法对用户输入的一组数据按关键字进行排序输出-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

用希尔排序算法对用户输入的一组数据按关键字进行排序输出

知与谁同 2018-07-16 17:45:20 1410
用希尔排序算法对用户输入的一组数据按关键字进行排序输出
搜索推荐
分享到
取消 提交回答
全部回答(1)
  • 寒凝雪
    2019-07-17 22:50:49
    //About_C团队解答
    //VC6.0环境下编译通过,希望满意(因为你没要求语言,所以我就用C++了)
    //任何问题,追问我哦 ^_^
    #include<iostream>
    #include<fstream>
    using namespace std;
    #define N 5
    typedef struct node{
    int key;
    char data;
    }Node;
    void ShellSort( Node data[], int n){
    Node tmp; int gap;
    gap = n / 2;
    while( gap > 0){
    for( int i = gap; i < n; i++){
    tmp = data[i];
    for( int j = i - gap; j >= 0; j -= gap){
    if( data[j].key > tmp.key){
    data[j+gap] = data[j];
    }else{
    break;
    }
    }
    data[j+gap] = tmp;
    }
    gap /= 2;
    }
    }
    int main(){
    Node data[N] = { 5, 'a', 4, 'b', 3, 'c', 2, 'b', 1, 'a'};
    ShellSort( data, N);
    for( int i = 0; i < N; i++){
    cout << data[i].key << ":" << data[i].data<< "\t";
    }
    cout << endl;
    return 0;
    }
    0 0
人工智能
使用钉钉扫一扫加入圈子
+ 订阅

了解行业+人工智能最先进的技术和实践,参与行业+人工智能实践项目

推荐文章
相似问题