顺序表应用2:多余元素删除之建表算法
来源:互联网 发布:mac装windows系统步骤 编辑:程序博客网 时间:2024/06/06 02:04
顺序表应用2:多余元素删除之建表算法
Time Limit: 3MS Memory Limit: 600KB
SubmitStatistic
Problem Description
一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。
要求:
1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;
2、本题的目标是熟悉在顺序表原表空间基础上建新表的算法,要在原顺序表空间的基础上完成完成删除,建表过程不得开辟新的表空间;
3、不得采用原表元素移位删除的方式。
要求:
1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;
2、本题的目标是熟悉在顺序表原表空间基础上建新表的算法,要在原顺序表空间的基础上完成完成删除,建表过程不得开辟新的表空间;
3、不得采用原表元素移位删除的方式。
Input
第一行输入整数n,代表下面有n行输入;
之后输入n行,每行先输入整数m,之后输入m个数据,代表对应顺序表的每个元素。
之后输入n行,每行先输入整数m,之后输入m个数据,代表对应顺序表的每个元素。
Output
输出有n行,为每个顺序表删除多余元素后的结果
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
01
#include<stdio.h>
02
#include<malloc.h>
03
#define maxsize 10000
04
struct
node
05
{
06
int
*elem;
07
int
lenth;
08
int
listsize;
09
}S;
10
int
InitList(node &S)
11
{
12
S.elem=(
int
*)
malloc
(maxsize*
sizeof
(
int
));
13
if
(!S.elem)
return
-1;
14
S.lenth=0;
15
S.listsize=maxsize;
16
return
0;
17
}
18
int
CreatList(node &S,
int
n)
19
{
20
int
i;
21
for
(i=0;i<n;i++)
22
{
23
scanf
(
"%d"
,&S.elem[i]);
24
}
25
S.lenth=n;
26
return
0;
27
}
28
int
Delete(node &S)
29
{
30
int
i,j,k;
31
if
(S.lenth==0)
return
0;
32
k=0;
33
for
(i=1;i<S.lenth;i++)
34
{
35
for
(j=0;j<=k;j++)
36
{
37
if
(S.elem[i]==S.elem[j])
break
;
38
}
39
if
(j>k)S.elem[++k]=S.elem[i];
40
}
41
return
k+1;
42
}
43
void
Output(node S,
int
n)
44
{
45
int
i;
46
for
(i=0;i<n;i++)
47
{
48
if
(i!=n-1)
printf
(
"%d "
,S.elem[i]);
49
else
printf
(
"%d\n"
,S.elem[i]);
50
}
51
}
52
int
main()
53
{
54
int
m;
55
int
n;
56
int
k;
57
scanf
(
"%d"
,&m);
58
while
(m>0)
59
{
60
m--;
61
scanf
(
"%d"
,&n);
62
InitList(S);
63
CreatList(S,n);
64
k=Delete(S);
65
Output(S,k);
66
}
67
return
0;
68
}
0 0
- 暑假集训二顺序表-顺序表应用2:多余元素删除之建表算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- Nginx搭建反向代理服务器过程详解
- 设计模式之状态模式
- 用ADO操作数据库的方法步骤
- java.net.URISyntaxException: Relative path in absolute URI
- leetcode 50. Pow(x, n)
- 顺序表应用2:多余元素删除之建表算法
- ADS1.2创建一个新的工程点亮LED灯 基于TX2440开发板
- Java一次读取文本文件所有内容
- Java IO字节流读取文件总结
- 顺序表
- 内核对象 复制对象句柄 DuplicateHandle 跨进程边界共享内核对象
- Android SharedPreferences
- Android APK反编译就这么简单 详解(附图)
- Gym 100345G Pulp Fiction 贪心