顺序表应用2:多余元素删除之建表算法
来源:互联网 发布:sql视图是什么 编辑:程序博客网 时间:2024/03/29 19:09
Problem Description
要求:
1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;
2、本题的目标是熟悉在顺序表原表空间基础上建新表的算法,要在原顺序表空间的基础上完成完成删除,建表过程不得开辟新的表空间;
3、不得采用原表元素移位删除的方式。
Input
之后输入n行,每行先输入整数m,之后输入m个数据,代表对应顺序表的每个元素。
Output
Example Input
45 6 9 6 8 93 5 5 55 9 8 7 6 510 1 2 3 4 5 5 4 2 1 3
Example Output
6 9 859 8 7 6 51 2 3 4 5
Hint
Author
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <bits/stdc++.h>
#define Max 10010
using namespace std;
typedef int elemtype;
typedef struct
{
elemtype *elem;
int listsize;
int length;
}List;
void creat(List &L)
{
L.elem = new elemtype[Max];
L.length = 0;
L.listsize = Max;
}
void compare(List &L, int x)
{
int i, flag = 1;
for(i = 0; i < L.length; i++)
{
if(x == L.elem[i])
{
flag = 0;
break;
}
}
if(flag)
{
L.length++;
L.elem[L.length - 1] = x;
}
}
void input(List &L, int m)
{
L.length = 0;
int i, x;
for(i = 0; i < m; i++)
{
scanf("%d", &x);
compare(L, x);
}
}
void output(List &L)
{
int i;
for(i = 0; i < L.length - 1; i++)
{
printf("%d ", L.elem[i]);
}
printf("%d\n", L.elem[L.length - 1]);
}
int main()
{
List L;
int n, m;
cin>>n;
while(n--)
{
cin>>m;
creat(L);
input(L, m);
output(L);
}
return 0;
}
- 暑假集训二顺序表-顺序表应用2:多余元素删除之建表算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 【涉及到python的小项目:让鼠标自动点击(一)】sikuli的安装与运行demo
- Nginx 服务搭建
- intellij idea乱码问题
- ROS launch文件的作用和编写
- HDU 1074:Doing HomeWork(状态压缩DP)
- 顺序表应用2:多余元素删除之建表算法
- 求乘法逆元
- 禅道项目管理工具部署
- 用go实现linux命令行
- django manage.py扩展自定义命令
- ElasticSearch 5.1.1安装
- 简单的五子棋程序(可悔棋版和普通版)
- 仿真学习心得
- mysql学习之路09-触发器