数据结构实验之链表七:单链表中重复元素的删除
2018-01-20 17:04
274 查看
数据结构实验之链表七:单链表中重复元素的删除
Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic
Problem Description
按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个)。
Input
第一行输入元素个数 n (1 <= n <= 15);第二行输入 n 个整数,保证在 int 范围内。
Output
第一行输出初始链表元素个数;第二行输出按照逆位序所建立的初始链表;
第三行输出删除重复元素后的单链表元素个数;
第四行输出删除重复元素后的单链表。
Example Input
10 21 30 14 55 32 63 11 30 55 30
Example Output
10 30 55 30 11 63 32 55 14 30 21 7 30 55 11 63 32 14 21
01 | #include <stdio.h> |
02 | #include <stdlib.h> |
03 | struct node |
04 | { |
05 | int data; |
06 | struct node *next; |
07 | }; |
08 | int main() |
09 | { |
10 | int n, i,count; |
11 | struct node *p, *tail, *head, *q; |
12 | head = ( struct node *) malloc ( sizeof ( struct node)); |
13 | head->next = NULL; |
14 | scanf ( "%d" , &n); |
15 | tail = head; |
16 | for (i = 0;i<n;i++) |
17 | { |
18 | p = ( struct node *) malloc ( sizeof ( struct node)); |
19 | scanf ( "%d" , &p->data); |
20 | p->next = tail->next; |
21 | tail->next = p; |
22 | } |
23 | printf ( "%d\n" , n);q = head->next; |
24 | while (q->next!=NULL) |
25 | { |
26 | printf ( "%d " , q->data); |
27 | q = q->next; |
28 | } |
29 | printf ( "%d\n" , q->data); |
30 | tail = head->next; |
31 | count = 0; |
32 | while (tail!=NULL) |
33 | { |
34 | q = tail;p = tail->next; |
35 | while (p!=NULL) |
36 | { |
37 | if (p->data==tail->data) |
38 | { |
39 | p = q->next; |
40 | q->next = p->next; |
41 | free (p); |
42 | p = q->next; |
43 | count++; |
44 | } |
45 | else |
46 | { |
47 | q = q->next;p = q->next; |
48 | } |
49 | } |
50 | tail = tail->next; |
51 | } |
52 | printf ( "%d\n" , n-count); |
53 | tail = head->next; |
54 | while (tail->next!=NULL) |
55 | { |
56 | printf ( "%d " , tail->data); |
57 | tail =tail->next; |
58 | } |
59 | printf ( "%d\n" , tail->data); |
60 | return 0; |
61 | } |
相关文章推荐
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- SDUT OJ 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 山东理工OJ【2122】数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 山东理工OJ【2122】数据结构实验之链表七:单链表中重复元素的删除(两种思想)
- 数据结构实验之链表七:单链表中重复元素的删除
- (?)数据结构实验之链表七:单链表中重复元素的删除
- SDUT_2122 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除