删除相同元素(线性表)
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 204 Solved: 148
[ Submit][ Status][ Web Board]
Description
(线性表)在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素,使表中不再有重复的元素。
Input
输入长度:6
输入数据:2 3 4 5 5 7
Output
2 3 4 5 7
Sample Input
68 9 10 11 22 22
Sample Output
8 9 10 11 22
#include<iostream>
using namespace std;
struct aa
{
int a;
aa *p;
};
int main()
{
aa *pp,*ap,*sp;
int i,n;
cin>>n;
pp=ap=new aa;
pp->p=NULL;
cin>>pp->a;
for(i=1;i<n;i++)
{
pp->p=new aa;
pp=pp->p;
pp->p=NULL;
cin>>pp->a;
} pp=ap;
for(i=0;i<n;i++)
{
sp=pp->p;
if(sp->p!=NULL)
{
if(pp->a==sp->a)
pp->p=sp->p;
pp=sp;
}
}
if(pp->a==sp->a)
pp->p=sp->p;
// if(sp->a==)
pp=ap;
for(;pp->p!=NULL;)
{
cout<<pp->a<<' ';
pp=pp->p;
}
cout<<pp->a<<' '<<endl;
return 0;
}