数据结构实验之链表七:单链表中重复元素的删除
2018-03-27 22:58
423 查看
Problem Description按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个)。
Input
第一行输入元素个数 n (1 <= n <= 15);第二行输入 n 个整数,保证在 int 范围内。Output
第一行输出初始链表元素个数;第二行输出按照逆位序所建立的初始链表;第三行输出删除重复元素后的单链表元素个数;第四行输出删除重复元素后的单链表。Sample Input
1021 30 14 55 32 63 11 30 55 30
Sample Output
1030 55 30 11 63 32 55 14 30 21730 55 11 63 32 14 21#include <stdio.h>#include <stdlib.h>struct node{int data;struct node *next;};int main (){int i,n;struct node *head,*p,*q,*t;head = (struct node *)malloc(sizeof (struct node ));head ->next = NULL;scanf("%d",&n);for( i = 1; i<=n;i++){p = (struct node *)malloc (sizeof (struct node ));scanf("%d",&p->data);p->next =head ->next;head->next = p;}printf("%d\n",n);while (p){if(p->next)printf("%d ",p->data);elseprintf("%d\n",p->data);p =p->next;}p = head->next;while(p){q=p->next;t=p;while (q){if(p->data == q->data){t->next = q->next;n--;q=t->next;}else{q=q->next;t=t->next;}}p=p->next;}printf("%d\n",n);p = head->next;while (p){if(p->next)printf("%d ",p->data);elseprintf("%d\n",p->data);p =p->next;}return 0;}
相关文章推荐
- 2122 数据结构实验之链表七:单链表中重复元素的删除
- 山东理工OJ【2122】数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 寒假第二天--线性表--数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 暑假集训第1天链表-数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 山东理工OJ【2122】数据结构实验之链表七:单链表中重复元素的删除(两种思想)
- SDUT 2122 数据结构实验之链表七:单链表中重复元素的删除
- SDUT-数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- SDUT-2122 数据结构实验之链表七:单链表中重复元素的删除