开发者社区> 问答> 正文

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

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

展开
收起
知与谁同 2018-07-16 17:45:20 3520 0
1 条回答
写回答
取消 提交回答
  • //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;
    }
    2019-07-17 22:50:49
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载