顺序表应用2:多余元素删除之建表算法
来源:互联网 发布:php小项目源码 编辑:程序博客网 时间:2024/06/11 08:14
顺序表应用2:多余元素删除之建表算法
Time Limit: 3MS Memory limit: 600K
题目描述
一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。
要求:
1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;
2、本题的目标是熟悉在顺序表原表空间基础上建新表的算法,要在原顺序表空间的基础上完成完成删除,建表过程不得开辟新的表空间;
3、不得采用原表元素移位删除的方式。
要求:
1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;
2、本题的目标是熟悉在顺序表原表空间基础上建新表的算法,要在原顺序表空间的基础上完成完成删除,建表过程不得开辟新的表空间;
3、不得采用原表元素移位删除的方式。
输入
第一行输入整数n,代表下面有n行输入;
之后输入n行,每行先输入整数m,之后输入m个数据,代表对应顺序表的每个元素。
之后输入n行,每行先输入整数m,之后输入m个数据,代表对应顺序表的每个元素。
输出
输出有n行,为每个顺序表删除多余元素后的结果
示例输入
45 6 9 6 8 93 5 5 55 9 8 7 6 510 1 2 3 4 5 5 4 2 1 3
示例输出
6 9 859 8 7 6 51 2 3 4 5
提示
来源
示例程序
- 提交
- 状态
#include <stdio.h>#include <stdlib.h>#include <malloc.h>#defineLISTINCREASMENT 10000#define LISTSIZE 10#define OVERFLOW -1#define OK 1typedef int ElemType;typedef struct{ int * elem; int length; int listsize;} Sqlist;int SqInitial(Sqlist * L){ L->elem=(int *) malloc (LISTSIZE*sizeof(int)); if (! L->elem) exit(OVERFLOW); L->length=0; L->listsize=LISTSIZE; return OK;}int Del(Sqlist * L,int k){int *p,*q;if(k<1||k>L->length)return 0;q=L->elem+L->length;for(p=&(L->elem[k]);p<q;p++)*p=*(p+1); L->length--;return 1;}void purge(Sqlist * l){ int i,j,k; k=0; for(i=1;i<=l->length;++i) { j=1; while(j<=k&&l->elem[j]!=l->elem[i]) ++j; if(k==0||j>k) l->elem[++k]=l->elem[i];}for(i=1;i<=k;i++) if(i==1) printf("%d",l->elem[i]); else printf(" %d",l->elem[i]);printf("\n");}int main(){ int n,p,q,t=0,i,T;scanf("%d",&T);while(T--){ Sqlist l; scanf("%d",&n);SqInitial(&l); l.length=n; for(i=1;i<=n;i++){ scanf("%d",&l.elem[i]);}purge(&l);} return 0;}
0 0
- 暑假集训二顺序表-顺序表应用2:多余元素删除之建表算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- Linux下的C语言学习笔记(1)
- POJ 3258 River Hopscotch (二分 + 最大化最小值 + 模拟双向链表)
- Ural 1303. Minimal Coverage
- Arlequin
- 数据库问题原因详解(脏读、不可重复读、幻读)
- 顺序表应用2:多余元素删除之建表算法
- cdoj 1354 柱爷很忙
- 团队管理
- php class回顾篇
- linphone-LpConfigImpl文件对应的JNI层文件分析
- Android事件和事件监听 来个飞机设个背景图让飞机上下左右动
- linux负载排查
- angular中刷新显示与ng-bind
- 博弈论 ( Nim游戏+SG模板)——S-Nim ( HDU 1536 )