2122数据结构实验之链表七:单链表中重复元素的删除

来源:互联网 发布:音乐分轨软件 编辑:程序博客网 时间:2024/06/07 23:56

数据结构实验之链表七:单链表中重复元素的删除

#include<iostream>#include<malloc.h>using namespace std;int a=0,b=0;struct node{    int data;    struct node *next;};struct node *creat(int n){    struct node *head,*tail,*p;    int i;    head=(struct node *)malloc(sizeof(struct node));    head->next=NULL;    for(i=1;i<=n;i++)    {        p=(struct node *)malloc(sizeof (struct node ));        cin>>p->data;        p->next=head->next;        head->next=p;    }//游动指针p指向p的前一个    return head;};void del(struct node *head,int m){    struct node *p,*p2,*p1;    p=head->next;    while(p!=NULL)    {        p1=p;        p2=p->next;        while(p2!=NULL)        {            if(p->data==p2->data)            {                p1->next=p2->next;                p2=p2->next;                m--;            }            else            {                p2=p2->next;                p1=p1->next;            }        }        p=p->next;    }    cout<<m<<endl;}void display(struct node *head1){    struct node *q;    q=head1->next;    while(q!=NULL)    {        cout << q->data;        if(q->next!=NULL)        cout<<" ";        q=q->next;    }    cout<<endl;}int main(){    int n,h,m;    struct node *head1,*head2;    cin>>m;    head1=creat(m);    cout <<m<<endl;    display(head1);     del(head1,m);    display(head1);    return 0;}
0 0
原创粉丝点击