//数据结构与算法基础题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. 算法与数据结构(一) 线性表的顺序存储与链式存储(Swift版)

    温故而知新,在接下来的几篇博客中,将会系统的对数据结构的相关内容进行回顾并总结.数据结构乃编程的基础呢,还是要不时拿出来翻一翻回顾一下.当然数据结构相关博客中我们以Swift语言来实现.因为Swift ...

  2. TOJ 1214: 数据结构练习题――线性表操作

    描述 请你定义一个线性表,可以对表进行"在某个位置之前插入一个元素"."删除某个位置的元素"."清除所有元素"."获取某个位置的元 ...

  3. TZOJ 1214: 数据结构练习题――线性表操作

    描述 请你定义一个线性表,可以对表进行“在某个位置之前插入一个元素”.“删除某个位置的元素”.“清除所有元素”.“获取某个位置的元素”等操作.键盘输入一些命令,可以执行上述操作.本题中,线性表元素为整 ...

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

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

  5. "《算法导论》之‘线性表’":基于静态分配的数组的顺序表

    首先,我们来搞明白几个概念吧(参考自网站数据结构及百度百科). 线性表 线性表是最基本.最简单.也是最常用的一种数据结构.线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外, ...

  6. ACM——线性表操作

    线性表操作 时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte总提交:2795            测试通过:589 描述 线性表是n个元素 ...

  7. 用C#学习数据结构之线性表

    什么是线性表 线性表是最简单.最基本.最常用的数据结构.线性表是线性结构的抽象(Abstract),线性结构的特点是结构中的数据元素之间存在一对一的线性关系.这种一对一的关系指的是数据元素之间的位置关 ...

  8. 【Java】 大话数据结构(2) 线性表之单链表

    本文根据<大话数据结构>一书,实现了Java版的单链表. 每个结点中只包含一个指针域的链表,称为单链表. 单链表的结构如图所示: 单链表与顺序存储结构的对比: 实现程序: package ...

  9. 数据结构之线性表(python版)

    数据结构之线性表(python版) 单链表 1.1  定义表节点 # 定义表节点 class LNode(): def __init__(self,elem,next = None): self.el ...

随机推荐

  1. 关于WEB-INF目录不提供外部访问及JSP引用 js,css 文件路径问题

    在 web 项目开发过程中,我们常常使用到 JSP,以及对静态资源,js,css 等引用,但是我们应该把这些资源文件放在哪个目录下面咧,怎么引用. 当然如果是前后端分离的项目倒不用考虑这些. WEB- ...

  2. 学习 C++的用途,(前辈总结)

    C++准确说是一门中级语言,介于汇编和高级语言之间吧,要求程序员了解计算机的内部数据存储.个人认为,作为学生还是花功夫学C++,因为<设计模式><数据结构>这些课程基本上还是C ...

  3. UVA 1647 Computer Transformation

    https://vjudge.net/problem/UVA-1647 题意: 开始有一个1,接下来每一步1变成01,0变成10 问n不之后00的个数 打表找规律 第3步之后: 如果第i步之后有x个字 ...

  4. 课程设计——利用信号量实现生产者-消费者问题(java)

    package cn.Douzi.ProductConsume; import java.util.LinkedList; import java.util.Queue; import java.ut ...

  5. 「七天自制PHP框架」应用:Model外键链接

    这里以行政区数据为例: 一级行政区数据范例: 二级行政区范例: 三级行政区范例: 在Model层建立三个Model class ProvinceModel extends Model{ public ...

  6. jieba文本分词,去除停用词,添加用户词

    import jieba from collections import Counter from wordcloud import WordCloud import matplotlib.pyplo ...

  7. CodeForces - 1015D

    There are nn houses in a row. They are numbered from 11 to nn in order from left to right. Initially ...

  8. 利用media query写响应式布局

    最近才接触到响应式布局的概念,之前用到的bootstrap就是一种响应式布局的框架.学习的时候参考了http://blog.csdn.net/shoyer/article/details/829301 ...

  9. 使用qt写的简单的图片浏览器

    功能特别简单,支持png,jpg,bmp,gif文件,支持自适应窗口大小,支持放大缩小,旋转功能还有点问题,支持上下按键选择图片 因为初学qt,所以很多东西都不太会,而且c++学的不是太好,没有怎么使 ...

  10. php中的转义函数

    <?php parse_url 解析URL, 返回各组成部分 urlencode/urldecode url编码/解码 htmlentities 将字符串转化为html实体 htmlentiti ...