数据结构实验之链表七:单链表中重复元素的删除
2019-03-03 11:50
651 查看
数据结构实验之链表七:单链表中重复元素的删除
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个)。
Input
第一行输入元素个数 n (1 <= n <= 15);
第二行输入 n 个整数,保证在 int 范围内。Output
第一行输出初始链表元素个数;
第二行输出按照逆位序所建立的初始链表;
第三行输出删除重复元素后的单链表元素个数;
第四行输出删除重复元素后的单链表。Sample Input
10 21 30 14 55 32 63 11 30 55 30Sample Output
10 30 55 30 11 63 32 55 14 30 21 7 30 55 11 63 32 14 21Hint
Source
不得使用数组!
思路:由第二行的输出可以看出我们需要头插方法建表,删除方法就是枚举比较找到相同的就删掉
代码如下:
[code] #include<stdio.h> #include<stdlib.h> typedef struct node { int data ; struct node *next ; }NODE ; int n ; NODE *creat(int n)//头插建表(逆序建表) { int i ; NODE *p ,*head ; head = (NODE*)malloc(sizeof(NODE)) ; head -> next = NULL ; for(i = 0 ; i< n; i++) { p = (NODE*)malloc(sizeof(NODE)) ; scanf("%d",&p->data) ; p->next = NULL ; p -> next = head -> next ; head -> next = p ; } return head ; } void show(NODE *head ) { NODE *p ; p = head -> next ; while(p) { printf("%d",p->data) ; if(p->next == NULL ) printf("\n") ; else printf(" ") ; p = p->next ; } } void del(NODE *head) { NODE *p, *q ,*t; q = head->next ; while(q) // 枚举过程 { p = q->next ; t = q ; while(p) { if(p->data==q->data) { t -> next = p->next ; free(p) ; p = t->next ; n-- ; } else { p= p->next ; t = t->next ; } } q = q->next ; } printf("%d\n",n) ; } int main() { scanf("%d",&n) ; NODE *head ; head = creat(n) ; printf("%d\n",n) ; show(head) ; del(head) ; show(head) ; return 0 ; } /*************************************************** User name: rj Result: Accepted Take time: 0ms Take Memory: 152KB Submit time: 2019-03-03 11:39:42 ****************************************************/
相关文章推荐
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- SDUT 2122 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除 SDUT
- SDUT-数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- sdutacm-数据结构实验之链表七:单链表中重复元素的删除
- SDUT OJ 2122 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 2122数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 2122 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除