首页 > 解决方案 > 如何按字母顺序对结构中的字符串进行排序?

问题描述

我应该按字母顺序对员工的全名进行排序。基本上,我的问题是如何在不使用指针的情况下按字母顺序对结构中的字符串进行排序。

这是我的代码的链接。我已经完成了大部分程序,除了最后一段 - 按字母顺序在结构中排序字符串

https://repl.it/@Kailin_Z/qwe

标签: c++11

解决方案


这是一个使用 algorithm::sort 的例子

#include <algorithm>
#include <iostream>
struct Employee{
    std::string s;
    static bool comp(const Employee&e1, const Employee&e2){
        return e1.s.compare(e2.s)<0;
    }
};

int main(){
    Employee arr[] = {
        {"a"},
        {"c"},
        {"e"},
        {"b"},
        {"e"},
    };

    std::sort(std::begin(arr), std::end(arr), Employee::comp);
    for(const auto& e: arr){
        std::cout<<e.s<<std::endl;
    }
    //a
    //b
    //c
    //e
    //e
}

这是分叉的版本链接(不确定它是否有效)


推荐阅读