数据结构上机测试1:顺序表的应用
Description
在长度为n(n<1000)的顺序表中可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只能有一个)。
Input
第一行输入表的长度n;
第二行依次输入顺序表初始存放的n个元素值。
Output
第一行输出完成多余元素删除以后顺序表的元素个数;
第二行依次输出完成删除后的顺序表元素。
Sample
Input
12
5 2 5 3 3 4 2 5 7 5 4 3
Output
5
5 2 3 4 7
Hint
用尽可能少的时间和辅助存储空间。
#include<bits/stdc++.h>using namespace std;#define maxsize 1010typedef struct node
{int *elem;int length;int listsize;
} List;void creat(List &L, int n)
{L.elem = (int *)malloc(maxsize*sizeof(int));for(int i = 0; i < n; i++){scanf("%d", &L.elem[i]);}L.listsize = maxsize;L.length = n;
}
void move_towards(List &L, int j)//删除顺序表中的一个元素,向前移动
{for(int k = j; k < L.length - 1; k++){L.elem[k] = L.elem[k + 1];}L.length--;
}
void del(List &L)
{for(int i = 0; i < L.length; i++){for(int j = i + 1; j < L.length; j++){if(L.elem[i] == L.elem[j]){move_towards(L, j);j--;//很重要,容易忘}}}
}
void display(List &L)
{printf("%d\n", L.length);for(int i = 0; i < L.length - 1; i++)printf("%d ", L.elem[i]);printf("%d\n", L.elem[L.length - 1]);
}
int main()
{int n;List L;scanf("%d", &n);creat(L, n);del(L);display(L);return 0;
}
数据结构上机测试1:顺序表的应用相关推荐
- 【1138】数据结构上机测试2-1:单链表操作A(顺序建表+删除节点)(SDUT)
数据结构上机测试2-1:单链表操作A Time Limit: 1000ms Memory limit: 4096K 有疑问?点这里^_^ 题目描述 输入n个整数,先按照数据输入的顺序建立一个带头 ...
- 逆置单链表c语言程序,(数据结构C语言版)顺序表和单链表的逆置
<(数据结构C语言版)顺序表和单链表的逆置>由会员分享,可在线阅读,更多相关<(数据结构C语言版)顺序表和单链表的逆置(7页珍藏版)>请在人人文库网上搜索. 1.实验1-1顺序 ...
- 数据结构 严薇敏 顺序表的实现(增 删 改)及其使用方法详解
时间复杂度 数据结构 时间复杂度和空间复杂度 目录 1.线性表 2.顺序表 2.1概念及结构 2.2 接口实现 SeqList.h SeqList.c 2.2.1初始化链表以及销毁链表的实现 初始化顺 ...
- 数据结构之python实现顺序表
数据结构之python实现顺序表 顺序表是指采用顺序存储的方式来存储数据元素的线性表. 初始化以及创建顺序表 class SequenceList(object):def __init__(self) ...
- 【1291】数据结构上机测试4.1:二叉树的遍历与应用1 SDUTOJ
数据结构上机测试4.1:二叉树的遍历与应用1 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 输入二叉树的先序遍历序列和中序 ...
- java数据结构与算法之顺序表与链表深入分析
转载请注明出处(万分感谢!): http://blog.csdn.net/javazejian/article/details/52953190 出自[zejian的博客] 关联文章: java数据结 ...
- 数据结构学习笔记:顺序表的删除操作及其演化题目总结
目录 前言 例题 类似题目1 类似题目2 类似题目3 类似题目4 类似题目5 结语 前言 文章代码皆在Dev-C++ 5.11中测试,主要是总结一些方法,从而总结一些规律使自己进一步地深化学习内容,仅 ...
- 【数据结构】手撕顺序表
文章目录 一.什么是线性表 二.顺序表 三.手撕顺序表 属性定义 构造方法 接口实现 确保顺序表空间 增加元素 打印顺序表 判断顺序表中是否包含某个元素 查找元素 获取 pos 位置的元素 将 pos ...
- 【数据结构与算法】顺序表V3.0的Java实现
更新说明 经过了顺序表V1.0的根据接口编写成型.顺序表V2.0的功能大幅度增强,这里推出了顺序表V3.0,功能的丰富性不及V2.0,但加入了迭代器,代码的编写也更加的合理了,应该说是比较好的作品了. ...
最新文章
- 标准css属性,你一定要知道的css属性值规范
- eslint vscode 自动格式化_Vue 入门系列第二期,开发环境与 ESLint 配置
- C++中逗号操作符重载的分析
- 47. 全排列 II(回溯算法)
- Oracle bigfile 大文件表空间会影响rman等备份效率
- 李宏毅机器学习(十一)meta-learning和ML一样是三个步骤
- Vue2.0 之 自带浏览器里无法打开(兼容IE处理) - 解决方案 命令
- 计算机系统及原理pdf,计算机系统组成及工作原理题目.pdf
- Educational Codeforces Round 51 (Rated for Div. 2) The Shortest Statement
- FZU《C语言程序综合设计》
- Pyqt之QApplication
- SPI 读取不同长度 寄存器_MCGS触摸屏如何实现批量读取modbus数据的方法?
- Postgresql本地语言环境参数设置(LC_COLLATE,LC_CTYPE)
- [Rscript]探索性因子分析
- 微信开发者工具通过二维码编译步骤
- ajax的readystate为3,为什么在做ajax时无法获得readyState 3(why can't get readyState 3 when doing a ajax)...
- 河北万豪环保紫外线消毒器普及知识
- 他写代码如入定,人称阿里“扫地僧,java自学教程百度云
- 【AI测试】人工智能测试、算法测试整体介绍——第一部分
- kerberos搭建
热门文章
- eclipse 使用jetty调试时,加依赖工程的源码调试方法
- makefile文件简要介绍
- R统计笔记(四):中括号与双中括号的差异
- 谷歌联合创始人:AI发展速度让我吃惊,但未来难料
- C4.5决策树 此博文包含图片	(2011-10-20 23:22:19)转载▼ 标签: 分类树
- 学习笔记:The Log(我所读过的最好的一篇分布式技术文章
- 数据库专家Michael Stonebraker获得2014年图灵奖
- 深入理解分布式技术 - 读写分离场景及注意事项解读
- 白话Elasticsearch08-深度探秘搜索技术之基于boost的细粒度搜索条件权重控制
- Spring Cloud【Finchley】实战-02订单微服务