c++ set(集合容器)

该博客介绍了如何利用C++中的multiset容器对一组字符串进行字典序排序。通过读取输入的字符串并插入到multiset中,自动排序后输出排序后的字符串。示例代码展示了从输入的9个字符串中创建并排序字符串集合的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

头文件

#include<set>

声明

set<任何类型>集合名         //元素可重复
mutiset<任何类型>集合名     //元素不可重复

集合内部根据红黑树自动排序

相关函数


insert()  //向set中插入元素
size()    //返回set中元素的个数
begin()   //返回set容器的第一个元素的地址
end()     //返回set容器的最后一个元素的地址
clear()   //清空set
empty()   //判断set容器是否为空
max_size() //返回set容器容量

示例

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

数据范围:  ,字符串长度满足
输入描述:
输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。
输出描述:
数据输出n行,输出结果为按照字典序排列的字符串。
示例1
输入:
9
cap
to
cat
card
two
too
up
boat
boot
输出:
boat
boot
cap
card
cat
to
too
two
up

*/

#include<iostream>
#include<set>
#include<string>
 
using namespace std;
 
int main() {
    int n;
    while (cin >> n) {
        multiset<string> strset;  //元素可重复集合
        string tmp;
        for (int i = 0; i < n; ++i) {
            cin>>tmp;
            strset.insert(tmp);
        }
        for (auto it = strset.begin(); it != strset.end(); ++it)
            cout << *it << endl; //取出it所指元素
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值