删除相同元素(线性表)

来源:互联网 发布:公司网络微信被屏蔽 编辑:程序博客网 时间:2024/04/28 06:32

Description
(线性表)在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素,使表中不再有重复的元素。

Input
输入长度:6

输入数据:2 3 4 5 5 7

Output
2 3 4 5 7

Sample Input
6
8 9 10 11 22 22
Sample Output
8 9 10 11 22

#include <iostream>using namespace std;struct number{int num;number *next;};number *creatlink(number *head,int n);number *dellink(number *head);int main(){number *p,*head;head=NULL;int n;cin>>n;head=creatlink(head,n);head=dellink(head);p=head;while(p!=NULL){cout<<p->num<<' ';p=p->next;}return 0;}number *creatlink(number *head,int n){number *p,*s;p=head;int i;for(i=0;i<n;i++){       s=new number;   cin>>s->num;   if(head==NULL)   head=s;   else   p->next=s;   p=s;}p->next=NULL;    return head;}number *dellink(number *head){number  *p,*s,*q;p=head;while(p->next!=NULL){s=p->next;q=p;if(s->num==p->num){while(s->num==p->num&&s->next!=NULL){   p=p->next;    s=s->next;}                if(s->num==p->num&&s->next==NULL)q->next=NULL;elseq->next=s;p=q->next;}else p=p->next;       if(p==NULL)   break;}return head;}


0 0
原创粉丝点击