顺序表应用1:多余元素删除之移位算法
来源:互联网 发布:.games域名 编辑:程序博客网 时间:2024/05/17 05:56
题目描述
要求:
1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;
2、本题的目标是熟悉顺序表的移位算法,因此题目必须要用元素的移位实现删除;
输入
之后输入n行,每行先输入整数m,之后输入m个数据,代表对应顺序表的每个元素。
输出
示例输入
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
移位算法:若元素相同,则从当前元素开始,全部往前移一位,并且长度减1
#include <bits/stdc++.h>
using namespace std;
typedef struct
{
int *elem;
int len;
int listsize;
}List;
void creat(List &l,int n)
{
l.elem = new int[10001];
for(int i=0;i<n;i++)
cin>>l.elem[i];
l.len=n;
l.listsize=10001;
}
void Listdelete(List &l,int n)
{
int i,j,k;
for(i=0;i<l.len;i++)
{
for(j=i+1;j<l.len;j++)
{
if(l.elem[i]==l.elem[j])
{
for(k=j;k<l.len;k++)
l.elem[k]=l.elem[k+1];
l.len--;
j--;
}
}
}
}
int main()
{
int i,m,n;
cin>>n;
while(n--)
{
List l;
cin>>m;
creat(l,m);
Listdelete(l,m);
for(i=0;i<l.len-1;i++)
cout<<l.elem[i]<<" ";
cout<<l.elem[l.len-1]<<endl;
}
return 0;
}
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 1102. Invert a Binary Tree (25)【二叉树】——PAT (Advanced Level) Practise
- Qt学习笔记:QMenuBar()、QMenu()和QAction()的使用
- 如何用java实现使用电子邮件控制你的电脑
- Android并发编程之Handler,MessageQueue,Looper详解
- Xilinx petalinux 2015.4 试用
- 顺序表应用1:多余元素删除之移位算法
- 理解js中的闭包
- python正则表达式 详解与实例
- 线性表的操作 (2)实现 C = A U B
- Java实现-高效排序算法之归并排序
- 1103. Integer Factorization (30)【搜索+剪枝】——PAT (Advanced Level) Practise
- QT实现五子棋(附源码)
- Vjudge 2016-5-10 math test
- utilities(matlab)—— ZCA 白化