题目描述
根据一个递增的整数序列构造有序单链表,删除其中的重复元素
输入
输入包括多组测试数据,每组测试数据占一行,第一个为大于等于0的整数n,表示该单链表的长度,后面跟着n个整数,表示链表的每一个元素。整数之间用空格隔开
输出
针对每组测试数据,输出包括两行,分别是删除前和删除后的链表元素,用空格隔开
如果链表为空,则只输出一行,list is empty
样例输入
5 1 2 3 4 5 5 1 1 2 2 3 0
样例输出
1 2 3 4 5 1 2 3 4 5 1 1 2 2 3 1 2 3 list is empty
#include <cstdio>
struct node{
int data;
node *next;
};
void creat(node *l,int n){
node *p=l;
for(int i=0;i<n;i++){
node *temp=new node;
temp->next =NULL;
scanf("%d",&temp->data );
p->next =temp;
p=temp;
}
}
void print(node *l){
node *p=l;
while(p->next!=NULL){
printf("%d ",p->next->data);
p=p->next ;
}
printf("\n");
}
void dele(node *l){
node *p=l->