//数据结构与算法基础题1:线性表操作,实现A并B,结果放入A中#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#pragma warning(disable:4996)using namespace std;int main()
{vector<int> set_A, set_B;int num_of_elements_in_A, num_of_elements_in_B;//下面输入集合A和B的元素//从输入方便的角度考虑,没有进行去重,只在最后合并的时候进行了去重cout << "请输入集合A的元素个数:";cin >> num_of_elements_in_A;if (num_of_elements_in_A <= 0) {cout << "元素个数不可以小于0!" << endl;return 1;}cout << "集合A元素个数为:" << num_of_elements_in_A << endl;for (int i = 0; i < num_of_elements_in_A; i++) {int temp = 0;cout << "请输入集合A的第" << i + 1 << "个元素:";cin >> temp;set_A.push_back(temp);}cout << "请输入集合B的元素个数:";cin >> num_of_elements_in_B;if (num_of_elements_in_B <= 0) {cout << "元素个数不可以小于0!" << endl;return 1;}cout << "集合B元素个数为:" << num_of_elements_in_B << endl;for (int i = 0; i < num_of_elements_in_B; i++) {int temp = 0;cout << "请输入集合B的第" << i + 1 << "个元素:";cin >> temp;set_B.push_back(temp);}//把B的元素先全部插入A中vector<int>::iterator iter_B = set_B.begin();while (iter_B != set_B.end()){set_A.push_back(*iter_B);iter_B++;}sort(set_A.begin(), set_A.end());set_A.erase(unique(set_A.begin(), set_A.end()), set_A.end());vector<int>::iterator iter_A = set_A.begin();cout << "合并后A中的实际元素为:";while (iter_A != set_A.end()){cout << *iter_A << " ";iter_A++;}cout << endl;system("pause");return 0;
}

注意,中间erase里的unique使用,得要先对vector进行排序,否则不会进行所有的去重(即只对相邻的重复进行去重)

进一步体会了STL的使用对于基本算法和数据结构实现的方便性。

【算法与数据结构实战】线性表操作-实现A并B,结果放入A中相关推荐

  1. 【数据结构算法】一:线性表

    本章介绍线性表中 存储结构不同的 顺序表 和 链表,以及操作受限的 栈 和 队列 . 目录 一.概述 二.顺序表 2.1. 插入元素  2.2. 删除元素  2.3. 特点 三.链表 3.1.线性链表 ...

  2. Java数据结构(1.1):数据结构入门+线性表、算法时间复杂度与空间复杂度、线性表、顺序表、单双链表实现、Java线性表、栈、队列、Java栈与队列。

    数据结构与算法入门 问题1:为什么要学习数据结构          如果说学习语文的最终目的是写小说的话,那么能不能在识字.组词.造句后就直接写小说了,肯定是不行的, 中间还有一个必经的阶段:就是写作 ...

  3. (二)《数据结构与算法》 青岛大学-王卓 线性表 C++

    <数据结构与算法> 青岛大学-王卓 线性表(链式存储)C++ B站链接:[https://www.bilibili.com/video/BV1nJ411V7bd?p=20] 本人能力有限, ...

  4. 用标准C语言初始化线性表,C语言数据结构-顺序线性表的实现-初始化、销毁、长度、查找、前驱、后继、插入、删除、显示操作...

    1.数据结构-顺序线性表的实现-C语言 #define MAXSIZE 100 //结构体定义 typedef struct { int *elem; //基地址 int length; //结构体当 ...

  5. [数据结构与算法] (顺序)线性表简单demo程序

    1 /******************************************************* 2 * @: Project: (顺序)线性表数据结构演示 3 * @: File ...

  6. c语言用两个栈构造队列伪码,数据结构习题线性表栈队列.doc

    数据结构习题线性表栈队列 线性表(58) 1. 在单链表.双链表和单循环链表中,若仅知道指针p指向某结点,不知道头指针,能否将结点*p从相应的链表中删去?若可以,其时间复杂度各为多少? 2.设线性表的 ...

  7. c语言如何删除数组中的某一个元素_数据结构之线性表高效删除重复元素

    刚刚学完数据结构之线性表中关于顺序表和单链表的知识,我们知道顺序表中存储数据的结构是一个数组,对于数组来说,在尾部插入.删除元素是比较高效的,但是如果在中间或者开头插入.删除元素,就会涉及数据的搬移, ...

  8. 数据结构之线性表----一文看懂顺序表、单链表、双链表、循环链表

    ​ 线性表是数据结构中比较基础的内容,不过也是入门的所需要客服的第一个难关.因为从这里开始,就需要我们动手编程,这就对很多同学的动手能力提出了挑战.不过这些都是我们需要克服的阵痛,学习新的知识总是痛苦 ...

  9. 数据结构习题--线性表

    第2章    线性表 一  选择题 1.下述哪一条是顺序存储结构的优点?(    )[北方交通大学 2001 一.4(2分)] A.存储密度大  B.插入运算方便  C.删除运算方便  D.可方便地用 ...

最新文章

  1. 独家 | Python 3.10发布——你应该知道的五大新特性
  2. Machine Learning课程 by Andrew Ng
  3. vfatfs.sys加载
  4. android 如何保留数据两位小数
  5. Hibernate 多对多关联查询条件使用
  6. oracle--第一天PLSQL--bai
  7. lisp删除块中图元_DeleteBlocks
  8. SAP License:ERP的意义
  9. 文件和目录(二)--unix环境高级编程读书笔记
  10. Chrome浏览器扩展开发系列之十五:跨域访问的XMLHttpRequest对象
  11. Git-查看远程分支、本地分支、创建分支
  12. c语言iec 103协议程序,IEC103通信流程详解.doc
  13. wifi芯片型号厂家简介
  14. Gitlab文件管理之把文档传到指定文件夹
  15. html怎样使字数占相同位,《古对今》教案
  16. 2022年电子邮箱哪个好用?邮箱大全测评来了,请及时查看哦
  17. C51单片机实现 贪吃蛇
  18. 51单片机PID算法控制无刷直流电机proteus仿真
  19. 多道批处理系统与分时系统:并发
  20. Linux服务器重启后crs,更改服务器名后CRS无法启动

热门文章

  1. python do while语句_python控制语句执行流程(while)
  2. 14_python基础—匿名函数lambda表达式
  3. linux环境 jenkins +allure生成测试报告
  4. python200行代码小游戏_200 行python 代码实现 2048 游戏
  5. 事务回退机制 android,【Android基础】——Fragment-使用方法
  6. mysql故障排查思路_Mysql高负载排查思路
  7. “焖鸡”游戏中的排序问题
  8. Java案例:使用clone()方法克隆对象
  9. 【codevs1298】凸包周长,计算几何
  10. 【BZOJ2226】LCM SUM,数论之一维LCM(莫比乌斯反演)