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

Description
一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。
要求:
1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;
2、本题的目标是熟悉在顺序表原表空间基础上建新表的算法,要在原顺序表空间的基础上完成完成删除,建表过程不得开辟新的表空间;
3、不得采用原表元素移位删除的方式。
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<bits/stdc++.h>using namespace std;typedef struct node
{int *elem;int length;int listsize;}List;
void creat(List &L, int n)
{L.elem = new int[101];L.length = 0;for(int i = 0; i < n; i++){cin>>L.elem[i];L.length++;}
}
int deletedata (List &L)
{int k = 0;for(int i = 0; i < L.length; i++){int flag = 1;for(int j = 0; j < k; j++){if(L.elem[j] == L.elem[i]){flag = 0;break;}//旧表和新表逐一比较,不重复的录入新表}if(flag)L.elem[k++] = L.elem[i];}return k;
}int main()
{int n, m;cin>>n;while(n--){cin>>m;List L;creat(L, m);int num;num = deletedata(L);for(int i = 0; i < num; i++){if(i == num - 1)cout<<L.elem[i]<<endl;elsecout<<L.elem[i]<<" ";}}return 0;
}

ACM《数据结构》顺序表相关推荐

  1. C语言链表的转置算法,c语言编程集 数据结构 顺序表 点链表 数制转换 矩阵转置.doc...

    c语言编程集 数据结构 顺序表 点链表 数制转换 矩阵转置 #include "stdio.h" #include "malloc.h" /*typedef s ...

  2. 数据结构-顺序表(动态分配存储空间)

    数据结构-顺序表(动态分配存储空间) (1)顺序表的结构定义: 结构型定义:(动态分配存储空间) /*** 动态分配存储空间*/ #define InitSize 100 //动态分配存储空间时,不限 ...

  3. C语言/C++常见习题问答集锦[八十三]之数据结构顺序表(operand types are error: no match for “operator==“)

    C语言/C++常见习题问答集锦[八十三]之数据结构顺序表{operand types are error: no match for "operator=="} 程序之美 前言 主 ...

  4. 数据结构--顺序表的使用

    数据结构--顺序表的使 #include<iostream> #include<cstdio> #include<cstring> using namespace ...

  5. Educoder头歌数据结构顺序表及其应用

    头歌实践平台答案educoder 数据结构-顺序表及其应用 第1关:顺序表的实现之查找功能 /***************************************************** ...

  6. 数据结构——顺序表的合并

    数据结构--顺序表的合并 具体要求:写一个函数,其函数的功能是将非递增顺序表LA和LB合并到非递增顺序表LC中 数据结构-顺序表的操作之合并顺序表 一.顺序表的结构 首先要定义的是顺序表的结构体,只有 ...

  7. python顺序表数组_数据结构 | 顺序表

    什么是数据结构? 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成. 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中. 比如:列表.集合与字典等都 ...

  8. 8.基本数据结构-顺序表和链表

    一.内存 - 计算机的作用:对数据进行存储和运算.首先我们需要知道我们目前使用的计算机都是二进制的计算机,就以为着计算机只可以存储和运算二进制的数据.例如下载好的一部电影,该电影可以存储到计算机中,计 ...

  9. 数据结构顺序表基本流程

    生活中很多事物是有顺序关系的,如班级座位从前到后是按排的顺序,从左到右是按列的顺序,可以很方便的定位到某一个位置,但如果座位是散乱的,就很难定位. 在程序中,经常需要将一组(通常是同为某个类型的)数据 ...

  10. C#数据结构-顺序表

    顺序表,顾名思义存储在计算机指定内存区域的一块连续的存储结构,跟我们一起排队做广播体操的那种方式 存储物理结构:物理内存空间上是连续的 存储逻辑关系:存储值之间的关系为一对一 使用场景:一般访问数据量 ...

最新文章

  1. “AI理论之父应该是哥德尔”,LSTM之父再抛惊人观点,网友:他有点走火入魔...
  2. Quartz.net基于数据库的任务调度管理(Only.Jobs)
  3. 解题报告 Number
  4. 强制消除Xcode警告的方法
  5. linux设备进入睡眠所需时间,android linux 休眠 深度睡眠 查看 方法 调试【转】
  6. Ubuntu系统显卡驱动、CUDA、CUDNN安装(一显卡驱动)
  7. 永济计算机培训,永济云计算培训,永济计算机培训学费,永济计算机学完工作好找吗 - IT教育频道...
  8. 图片上传插件WebUploader的坑
  9. python 网络编程模块_Python网络编程之socket模块
  10. 20200121每日一句
  11. 关闭VS2019和VAssistX的导航栏
  12. apache commons-beanutils中BeanUtils和PropertyUtils区别
  13. 网络安全/渗透测试工具AWVS14.9下载/使用教程/安装教程
  14. YUV RGB 常见视频格式解析
  15. mysql计算百分比_mysql – 如何计算百分比?
  16. 适合苹果4s的微信版本_6.1.3装上微信了,新手看这里
  17. 手撕生产者-消费者模式 | P问题、NP问题
  18. 一套优雅的开源后台管理系统:若依后台管理系统 3.3 发布,新增多项功能
  19. word转html linux java,Java-linux下如何代码实现word转换成html
  20. redis实现简单的动态密码

热门文章

  1. numpy.dstack详解
  2. numpy.random.normal详解
  3. 《机器学习实践应用》书中源代码
  4. Understanding CMS GC Logs--转载
  5. linux下c的网络编程---转载
  6. SpringBoot各种Controller写法
  7. 万物上链: 5G 起跑
  8. ADSL宽带为什么下载和上传速度差别如此之大?
  9. 并发编程-11线程安全策略之线程封闭
  10. Shell-alias在Shell脚本中的使用