美文网首页
入门算法 - 字符串排序

入门算法 - 字符串排序

作者: 蒋佳秋 | 来源:发表于2018-05-20 17:56 被阅读0次

    内容同步于我的博客:https://blog.bigrats.net/archives/basic-alg-string-sort.html

    题目描述

    给定n个字符串,请对n个字符串按照字典序排列。

    输入描述

    输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。

    输出描述

    数据输出n行,输出结果为按照字典序排列的字符串。

    示例

    Input:

    9
    cap
    to
    cat
    card
    two
    too
    up
    boat
    boot
    

    Output:

    boat
    boot
    cap
    card
    cat
    to
    too
    two
    up
    

    问题分析

    对于这类简单的排序问题,可以直接使用STL库中的sort()函数即可。

    算法描述

    代码

    #include <cstdio>
    #include <cstdlib>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    
    bool mstrcmp(char *a, char* b) {
        int i = 0;
        for(i = 0; i < strlen(a) && i < strlen(b); i++) {
            if(a[i] < b[i]) return true;
            else if(a[i] > b[i]) return false;
            else continue;
        }
        if(i < strlen(a)) return false;
        return true;
    }
    
    int main() {
        int n;
        char *words[1000];
        
        while(scanf("%d", &n) != EOF) {
            for(int i = 0; i < n; i++) {
                words[i] = (char*)malloc(100*sizeof(char));
                scanf("%s", words[i]);
            }
            sort(words, words + n, mstrcmp);
            for(int i = 0; i < n; i++) {
                printf("%s\n", words[i]);
            }
        }
        
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:入门算法 - 字符串排序

          本文链接:https://www.haomeiwen.com/subject/pbptjftx.html