Description
一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。

要求:

1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;

2、本题的目标是熟悉顺序表的移位算法,因此题目必须要用元素的移位实现删除;

Input
第一行输入整数n,代表下面有n行输入;

之后输入n行,每行先输入整数m,之后输入m个数据,代表对应顺序表的每个元素。

Output
输出有n行,为每个顺序表删除多余元素后的结果

Sample

Input
4
5 6 9 6 8 9
3 5 5 5
5 9 8 7 6 5
10 1 2 3 4 5 5 4 2 1 3
Output
6 9 8
5
9 8 7 6 5
1 2 3 4 5
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
#include <stdlib.h>
using namespace std;
int n,m;
int a[10001];
int main()
{cin>>n;while(n--){cin>>m;for(int i=1;i<=m;i++){scanf("%d",&a[i]);}for(int i=1;i<m;i++){for(int j=i+1;j<=m;j++){if(a[i]==a[j]){for(int k=j;k<m;k++){a[k]=a[k+1];}m--;j--;//删除掉之后,不能从删除位置下一个判断,j原地踏步一次,再往下走,防止删除后跳过一个元素。}}}for(int i=1;i<=m;i++){printf("%d%c",a[i],i!=m?' ':'\n');}}return 0;
}

A - 顺序表应用1:多余元素删除之移位算法相关推荐

  1. 顺序表应用1:多余元素删除之移位算法

    Description 一个长度不超过10000数据的顺序表,可能存在着一些值相同的"多余"数据元素(类型为整型),编写一个程序将"多余"的数据元素从顺序表中删 ...

  2. 顺序表应用2:多余元素删除之建表算法

    顺序表应用2:多余元素删除之建表算法 Description 一个长度不超过10000数据的顺序表,可能存在着一些值相同的"多余"数据元素(类型为整型),编写一个程序将" ...

  3. 数据结构例1.已知顺序表L的长度为n,试编写算法实现在顺序表中删除值为elem的数据元素

    //已知顺序表L的长度为n,试编写算法实现在顺序表中删除值为elem的数据元素 //(其中n与elem从键盘输入) # include <iostream> # include <s ...

  4. 1-2、数据结构线性表之顺序表的基本操作插入、删除、遍历、初始化

    学习需要记录,更需要温习! 上一篇我们总结了什么是线性表,线性表的ADT类型,线性表的两种存储类型顺序存储结构和链式存储结构,今天正式进入线性表的顺序存储结构的总结和归纳,也就是数据结构的线性表的顺序 ...

  5. 顺序表应用3:元素位置互换之移位算法

    Description 一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m< ...

  6. 顺序表应用4:元素位置互换之逆置算法

    这道题和顺序表应用4-2:元素位置互换之逆置算法(数据改进)的算法没差什么. Description 一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该 ...

  7. 线性表顺序表---逆置所有元素

    1 /*顺序表中所有的元素逆置 2 * 3 */ 4 #include <iostream.h> 5 using namespace std; 6 7 int main(){ 8 void ...

  8. 【顺序表】13 顺序表ADT模板设计及简单应用:将顺序表中前 m 个元素和后 n 个元素进行互换

    问题描述 : 目的:使用自行设计的顺序表ADT或STL中的vector模板,设计并实现顺序表应用场合的一些简单算法设计. 应用1:试设计一个算法,用尽可能少的辅助空间将非空顺序表中前 m 个元素和后 ...

  9. 顺序表ADT模板设计及简单应用:将顺序表中前 m 个元素和后 n 个元素进行互换

    顺序表ADT模板设计及简单应用:将顺序表中前 m 个元素和后 n 个元素进行互换 作者: 冯向阳 时间限制: 1S 章节: DS:线性表 问题描述 : 目的:使用自行设计的顺序表ADT或STL中的ve ...

最新文章

  1. Java BIO、NIO、AIO
  2. 深入理解Java Stream流水线,学到了!
  3. HDU 6108.小C的倍数问题 (2017百度之星程序设计大赛 - 初赛(A)1001)
  4. JVM中GC小对象配置
  5. 需要进一步学习和思考的速度问题
  6. 怎么计算python程序执行时间_【华为云技术分享】计算python程序执行时间
  7. 最短路径问题 --- Dijkstra算法详解
  8. Mongodb定时备份脚本和清除脚本
  9. gif生成工具,gif动图分解
  10. app inventor制作手机蓝牙遥控器
  11. 注册表删除方式解决Navicat到期问题
  12. Ubuntu 9.04正式版下安装Sopcast看在线网络电视
  13. ArcGIS Runtime for Android天地图底图及TPK数据包放大后数据不显示问题
  14. 压缩软件大评比,7-ZIP/WinZIP/WinRAR的抗争
  15. cocos creator使用anysdk接入admob广告教程
  16. 静雅学校有高中吗有计算机,涿州靖雅中学
  17. python画二维图_python3实现绘制二维点图
  18. PowerBI数据处理-聚合
  19. 关于Unicode字符集,将char数组转化成LPCTSTR
  20. iOS开发--Core Graphics绘图

热门文章

  1. pythonpandas分析数据_python 数据分析--pandas
  2. 从零实现Vue的组件库(零)- 基本结构以及构建工具
  3. 1019 General Palindromic Number
  4. Python使用struct处理二进制(转)
  5. 【转】最快让你上手ReactiveCocoa之基础篇
  6. AIX5.3安装oracle10g
  7. oracle分区表官方指南
  8. 做一个类似登录的循环
  9. 第5次作业+105032014070+胡阳洋
  10. vue-cli 中stylus写样式莫名报错?