A - 顺序表应用1:多余元素删除之移位算法
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:多余元素删除之移位算法
Description 一个长度不超过10000数据的顺序表,可能存在着一些值相同的"多余"数据元素(类型为整型),编写一个程序将"多余"的数据元素从顺序表中删 ...
- 顺序表应用2:多余元素删除之建表算法
顺序表应用2:多余元素删除之建表算法 Description 一个长度不超过10000数据的顺序表,可能存在着一些值相同的"多余"数据元素(类型为整型),编写一个程序将" ...
- 数据结构例1.已知顺序表L的长度为n,试编写算法实现在顺序表中删除值为elem的数据元素
//已知顺序表L的长度为n,试编写算法实现在顺序表中删除值为elem的数据元素 //(其中n与elem从键盘输入) # include <iostream> # include <s ...
- 1-2、数据结构线性表之顺序表的基本操作插入、删除、遍历、初始化
学习需要记录,更需要温习! 上一篇我们总结了什么是线性表,线性表的ADT类型,线性表的两种存储类型顺序存储结构和链式存储结构,今天正式进入线性表的顺序存储结构的总结和归纳,也就是数据结构的线性表的顺序 ...
- 顺序表应用3:元素位置互换之移位算法
Description 一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m< ...
- 顺序表应用4:元素位置互换之逆置算法
这道题和顺序表应用4-2:元素位置互换之逆置算法(数据改进)的算法没差什么. Description 一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该 ...
- 线性表顺序表---逆置所有元素
1 /*顺序表中所有的元素逆置 2 * 3 */ 4 #include <iostream.h> 5 using namespace std; 6 7 int main(){ 8 void ...
- 【顺序表】13 顺序表ADT模板设计及简单应用:将顺序表中前 m 个元素和后 n 个元素进行互换
问题描述 : 目的:使用自行设计的顺序表ADT或STL中的vector模板,设计并实现顺序表应用场合的一些简单算法设计. 应用1:试设计一个算法,用尽可能少的辅助空间将非空顺序表中前 m 个元素和后 ...
- 顺序表ADT模板设计及简单应用:将顺序表中前 m 个元素和后 n 个元素进行互换
顺序表ADT模板设计及简单应用:将顺序表中前 m 个元素和后 n 个元素进行互换 作者: 冯向阳 时间限制: 1S 章节: DS:线性表 问题描述 : 目的:使用自行设计的顺序表ADT或STL中的ve ...
最新文章
- Java BIO、NIO、AIO
- 深入理解Java Stream流水线,学到了!
- HDU 6108.小C的倍数问题 (2017百度之星程序设计大赛 - 初赛(A)1001)
- JVM中GC小对象配置
- 需要进一步学习和思考的速度问题
- 怎么计算python程序执行时间_【华为云技术分享】计算python程序执行时间
- 最短路径问题 --- Dijkstra算法详解
- Mongodb定时备份脚本和清除脚本
- gif生成工具,gif动图分解
- app inventor制作手机蓝牙遥控器
- 注册表删除方式解决Navicat到期问题
- Ubuntu 9.04正式版下安装Sopcast看在线网络电视
- ArcGIS Runtime for Android天地图底图及TPK数据包放大后数据不显示问题
- 压缩软件大评比,7-ZIP/WinZIP/WinRAR的抗争
- cocos creator使用anysdk接入admob广告教程
- 静雅学校有高中吗有计算机,涿州靖雅中学
- python画二维图_python3实现绘制二维点图
- PowerBI数据处理-聚合
- 关于Unicode字符集,将char数组转化成LPCTSTR
- iOS开发--Core Graphics绘图