#include <iostream>
using namespace std;
struct node
{
int val,c;
node *next;
node()
{
c=0;
}
};
node *mycreat(int n)
{
node *head=NULL,*p=NULL,*sec=NULL;
head=(node*)malloc(sizeof(node));
p=head;
while(n--)
{
int v;
scanf("%d",&v);
sec=(node*)malloc(sizeof(node));
sec->val=v;
p->next=sec;
p=sec;
}
p->next=NULL;
return head;
}
node *mydel(node *head)
{
node *p=NULL;
p=head->next;
while(p->next!=NULL)
{
if(p->next->val==p->val)
p->next->c=1;
p=p->next;
}
return head;
}
void myprint(node *head)
{
int f=0;
node *p=NULL;
p=head->next;
while(p!=NULL)
{
if(p->c!=1)
{
if(f==0)
printf("%d",p->val);
else
printf(" %d",p->val);
}
f++;
p=p->next;
}
printf("\n");
return ;
}
int main()
{
int n;
node *head;
while(~scanf("%d",&n))
{
if(n==0) break;
head=mycreat(n);
head=mydel(head);
myprint(head);
}
return 0;
}
单链表删除相同值
最新推荐文章于 2022-05-04 14:44:27 发布