首页 > 编程语言 >【C++】Mat和Pat希望邀请他们的朋友来参加派对。他们要编写一个程序完成下面的任务。 让Mat输入他朋友的姓名列表。姓名存储在一个容器中,然后按排列后的顺序显示出来。 让Pat输入她朋友的姓名列

【C++】Mat和Pat希望邀请他们的朋友来参加派对。他们要编写一个程序完成下面的任务。 让Mat输入他朋友的姓名列表。姓名存储在一个容器中,然后按排列后的顺序显示出来。 让Pat输入她朋友的姓名列

时间:2024-02-29 11:33:33浏览次数:18  
标签:容器 Pat 列表 ret3 姓名 end

Mat和Pat希望邀请他们的朋友来参加派对。他们要编写一个程序完成下面的任务。

让Mat输入他朋友的姓名列表。姓名存储在一个容器中,然后按排列后的顺序显示出来。
让Pat输入她朋友的姓名列表。姓名存储在另一个容器中,然后按排列后的顺序显示出来。
创建第三个容器,将两个列表合并,删除重复的部分,并显示这个容器的内容。
main.cpp:

#include <iostream>
using namespace std;
void input(vector<string>& ret) {
  string str;
  cout << "please input your friends:(按'q'结束)";
  while (cin >> str && str != "q") {
    ret.push_back(str);
  }
  sort(ret.begin(), ret.end());
  for (auto a : ret) {
    cout << a << " ";
  }
}
void imergeVector(vector<string>& ret1, vector<string>& ret2) {
  vector<string> ret3;
  ret3.reserve(ret1.size() + ret2.size());//预留足够的空间
  ret3.insert(ret3.end(), ret1.begin(), ret1.end());
  ret3.insert(ret3.end(), ret2.begin(), ret2.end());

  sort(ret3.begin(), ret3.end());//在使用unique前要先排序
  auto aut = unique(ret3.begin(), ret3.end());//去掉重复值
  for (auto it = ret3.begin(); it != aut; ++it) {
    cout << *it << " ";
  }
  cout << endl;
}
int main(void) {
  vector<string> pat, mat;
  cout << "【pat】:" << endl;
  input(pat);
  cout << "\n-----------------\n";
  cout << "【mat】:" << endl;
  input(mat);
  cout << "\n-----------------\n";
  imergeVector(pat, mat);
  return 0;
}

标签:容器,Pat,列表,ret3,姓名,end
From: https://www.cnblogs.com/smartlearn/p/18043095

相关文章

  • 容器化环境中,JVM最佳参数配置实践
    本文分享自华为云社区《Java应用容器化参数配置最佳实践》,作者:可以交个朋友。简介当你在物理机或者虚拟机上配置JVM参数时,JVM会默认使用主机上1/4的内存作为堆内存,你也可以选择使用-Xmx/-Xms来指定Java堆内存大小。在容器化环境中,每个容器实例的内存大小由Cgroups配置决定,......
  • Vue学习笔记21-列表排序
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>列表排序</title><script......
  • Vue学习笔记19--列表过滤(watch属性过滤 + computed属性过滤)
    列表过滤--监听属性过滤<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>列表过滤</title>......
  • WPF DataGrid下的单元格嵌入CheckBox列表
    <DataGridWidth="auto"Height="auto"AutoGenerateColumns="False"CanUserAddRows="False"GridLinesVisibility="All">        <DataGrid.Columns><DataGridTempla......
  • Taurus.MVC WebMVC 入门开发教程4:数据列表绑定List<Model>
    前言:在本篇Taurus.MVCWebMVC入门开发教程的第四篇文章中,我们将学习如何实现数据列表的绑定,通过使用List<Model>来展示多个数据项。我们将继续使用Taurus.Mvc命名空间,同时探讨如何在视图中绑定并显示一个Model列表。步骤1:创建Model首先,我们需要更新我们的Model类,......
  • Vue 2x 系列之(十二)列表渲染
    列表渲染1.v-for指令v-for指令: 1.用于展示列表数据 2.语法:v-for="(item,index)inxxx":key="yyy" 3.可遍历:数组(用的最多)、对象、字符串(用的很少)、指定次数(用的很少)<body> <!--准备好一个容器--> <divid="root"> <!--遍历数组--> <h2>人员列表(......
  • 图片列表2
     <templatev-for="(item,index)in(ResearchTrendsta?ResearchTrendsta.slice(0,4):ResearchTrendsta)":key="index"><divclass="setitem"@click="deill(item)">......
  • 图片列表3
     <templatev-for="(item,index)in(ResearchTrendsta?ResearchTrendsta.slice(0,6):ResearchTrendsta)":key="index"><divclass="navcontentitem"@click="deill(item)">......
  • 新闻列表item
     <divclass="list">      <templatev-for="(item,index)inmdata":key="index">        <li@click="godell(item)">          <spanid="title">{{item.achi......
  • 新闻列表item2
        <templatev-for="(item,index)in(NoticeData?NoticeData.slice(0,3):NoticeData)":key="index">            <divclass="item"@click="openAcademicleturesComView(item.id)">      ......