删除相同元素(线性表)
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 69 Solved: 49
[ 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 mm
{
int a;
mm *p;
};
int main()
{
int n,m;
mm *head,*k,*h,*s;
cin>>n;
head=new mm;
k=head;
while(n--)
{
cin>>k->a;
k->p=new mm;
h=k;
k=k->p;
k->p=NULL;
}
//cin>>m;
delete k;
h->p=NULL;
h=k=head;
while(k!=NULL)
{s=h=k;
m=h->a;
k=k->p;
while(h!=NULL)
{
if(h->a==m)
{s->p=h->p;h=s;}
s=h;
h=h->p;
}
}
k=head;
while(k!=NULL)
{
cout<<k->a<<' ';
k=k->p;}
return 0;}