C++怎么查找字串的连接最长路径

这篇文章主要讲解了“C++怎么查找字串的连接最长路径”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++怎么查找字串的连接最长路径”吧!

题目描述

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

输入描述:

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

输出描述:

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

示例 

输入

9

cap

to

cat

card

two

too

up

boat

boot 

输出

boat

boot

cap

card

cat

to

too

two

up

解析

说实话,我也不知道这个题网上会叫这个名字。小白觉得应该叫做字典排序。不过正好小伙伴可以和小白一起在熟悉一下这个关联容器。set关联容器本身存入的数据就是按照字典的顺序进行排序的,因此我们只需要将数据输入之后按顺序读出就满足要求了

但是,这个题小白在测试的时候遇到了一点问题,就是通过率只有60%,查看了没有通过的历程,发现是因为有个测试数据中含有两个重复的字符串。因此我们需要使用multiset关联容器。这个容器是允许存入的数据有重复的情况,会将其都保存,而不像set容器只保存一次。其都在#include <set>里面

代码

#include <iostream>
#include <set>
#include <string>

using namespace std;

int main()
{
   int index;
   while(cin>>index)
   {
       multiset<string> str_set;
       for(int i=0;i<index;i++)
       {
           string str;
           cin>>str;
           str_set.insert(str);
       }
       for(auto m:str_set)
           cout<<m<<endl;
   }
   return 0;
}

运行结果

C++怎么查找字串的连接最长路径    

感谢各位的阅读,以上就是“C++怎么查找字串的连接最长路径”的内容了,经过本文的学习后,相信大家对C++怎么查找字串的连接最长路径这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!