您的位置:首页 > 理论基础 > 数据结构算法

数据结构实验之链表七:单链表中重复元素的删除

2014-11-07 13:11 756 查看
数据结构实验之链表七:单链表中重复元素的删除

TimeLimit:1000MSMemorylimit:65536K

题目描述

按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个)。

输入

第一行输入元素个数n;

第二行输入n个整数。

输出

第一行输出初始链表元素个数;

第二行输出按照逆位序所建立的初始链表;

第三行输出删除重复元素后的单链表元素个数;

第四行输出删除重复元素后的单链表。

示例输入

10
21301455326311305530


示例输出

10
30553011633255143021
7
30551163321421


#include<stdio.h>
#include<string.h>
#include<iostream>
usingnamespacestd;
intmain()
{
inta[1001],b[1001],c[1001];
inti,j,num,n;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i];
}
cout<<n<<endl;
for(i=n-1;i>0;i--)
{
cout<<a[i]<<"";
}
cout<<a[0]<<endl;
num=1;
memset(b,0,sizeof(b[0]));
b[a[n-1]]=1;
c[0]=a[n-1];
j=1;
for(i=n-1;i>=0;i--)
{
if(b[a[i]]==1)continue;
else
{
b[a[i]]=1;
c[j]=a[i];
j++;
num++;
}
}
cout<<num<<endl;
for(i=0;i<j-1;i++)
{
cout<<c[i]<<"";
}
cout<<c[j-1]<<endl;
}

[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: