顺序表应用1:多余元素删除之移位算法
来源:互联网 发布:ubuntu命令行更新软件 编辑:程序博客网 时间:2024/06/14 03:39
顺序表应用1:多余元素删除之移位算法
Time Limit: 1000MS Memory Limit: 650KB
Submit Statistic
Problem Description
一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。
要求:
1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;
2、本题的目标是熟悉顺序表的移位算法,因此题目必须要用元素的移位实现删除;
要求:
1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;
2、本题的目标是熟悉顺序表的移位算法,因此题目必须要用元素的移位实现删除;
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
Hint
Author
#include<stdio.h>
#include<string.h>
int Delete(int a[],int number){
for(int i=0;i<number;i++){
for(int j=i+1;j<number;j++){ //找后面是否有重复的元素
if(a[j]==a[i]){
for(int k=j;k<number-1;k++) //移位操作
a[k]=a[k+1];
number--;
j--; //移位之后得减一,因为要保持位置不变,先减一后加一刚刚好
}
}
}
return number;
}
int main()
{
int sum;
int a[10000];
scanf("%d",&sum);
while(sum--)
{
memset(a,0,sizeof(a));
int number;
scanf("%d",&number);
for(int i=0;i<number;i++)
scanf("%d",&a[i]);
int number1;
number1=Delete(a,number);
for(int i=0;i<number1;i++){
if(i!=number1-1)
printf("%d ",a[i]);
else
printf("%d\n",a[i]);
}
}
return 0;
}
#include<string.h>
int Delete(int a[],int number){
for(int i=0;i<number;i++){
for(int j=i+1;j<number;j++){ //找后面是否有重复的元素
if(a[j]==a[i]){
for(int k=j;k<number-1;k++) //移位操作
a[k]=a[k+1];
number--;
j--; //移位之后得减一,因为要保持位置不变,先减一后加一刚刚好
}
}
}
return number;
}
int main()
{
int sum;
int a[10000];
scanf("%d",&sum);
while(sum--)
{
memset(a,0,sizeof(a));
int number;
scanf("%d",&number);
for(int i=0;i<number;i++)
scanf("%d",&a[i]);
int number1;
number1=Delete(a,number);
for(int i=0;i<number1;i++){
if(i!=number1-1)
printf("%d ",a[i]);
else
printf("%d\n",a[i]);
}
}
return 0;
}
阅读全文
0 0
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- TCP/IP详解(协议)读书笔记之第一章概述
- String类的增 删 改 查
- Java笔记之数组及内存分配
- zookeeper和kafka的介绍
- ACM第二次WXYZ
- 顺序表应用1:多余元素删除之移位算法
- Cena、Lemon自动AC机
- [bzoj1212] [HNOI2004]L语言(trie+dp)
- SSL P2034 最长链
- 1034: 递归4(二叉树的后序遍历)
- ThreadLocal
- java实现快速排序算法
- Python基本语法_强制数据类型转换
- thinkphp3.2 I('get.id') 在 ningx代理apache下面错误 GET POST参数都变成_URL_ 解决方法 I函数