题目:对于一个有序递增的单链
#include<bits/stdc++.h>
#include<iostream>
using namespace std;
typedef struct lnode{
int data;
struct lnode *next;
}*linklist,lnode;
int a[10]={7,10,10,21,30,42,42,51,70,60};
int n=10;
void buildlist(linklist &l){
l=(linklist)malloc(sizeof(lnode));
lnode *p,*r=l;
for(int i=0;i<n;i++){
p=(lnode*)malloc(sizeof(lnode));
p->data=a[i];
r->next=p;
r=r->next;
}
r->next=NULL;
}
void deletechong(linklist l){
lnode *p=l->next;
lnode *q;
if(p==NULL) return;
while(p->next!=NULL){
q=p->next; /
if(p->data==q->data){
p->next=q->next;
free(q);
}
else{
p=p->next;
}
}
}
void print(linklist l){
lnode *p=l->next;
while(p){
cout<<p->data<<" ";
p=p->next;
}
cout<<endl;
}
int main(){
linklist l;
buildlist(l);
print(l);
deletechong(l);
print(l);
return 0;
}
表,存在重复元素,删除重复元素。