解题思路:
三个字符排序?
如果对c++有点了解的话,c++的stl里面是有个set容器的,set是STL中一种标准关联容器。它底层使用平衡的搜索树——红黑树实现,插入删除操作时仅仅需要指针操作节点即可完成,不涉及到内存移动和拷贝,所以效率比较高。set,顾名思义是“集合”的意思,在set中元素都是唯一的,而且默认情况下会对元素自动进行升序排列,支持集合的交(set_intersection),差(set_difference) 并(set_union),对称差(set_symmetric_difference) 等一些集合上的操作,如果需要集合中的元素允许重复那么可以使用multiset。
注意事项:
题干没说字符串能否重复,我用的set也过了,下次还是得注意。
参考代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string str;
set<string> v;
set<string>::iterator iter;//迭代器
for(int i = 0;i < 3;i++)
{
cin>>str;
v.insert(str);
}
for(iter = v.begin();iter != v.end();iter++)
{
cout<<*iter<<endl;
}
return 0;
}
0.0分
0 人评分