SDUT 2120-数据结构实验之链表五:单链表的拆分
2017-12-23 20:31
357 查看
Problem Description
输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。
Input
第一行输入整数N;;
第二行依次输入N个整数。
Output
第一行分别输出偶数链表与奇数链表的元素个数;
第二行依次输出偶数子链表的所有数据;
第三行依次输出奇数子链表的所有数据。
Example Input
10
1 3 22 8 15 999 9 44 6 1001
Example Output
4 6
22 8 44 6
1 3 15 999 9 1001
输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。
Input
第一行输入整数N;;
第二行依次输入N个整数。
Output
第一行分别输出偶数链表与奇数链表的元素个数;
第二行依次输出偶数子链表的所有数据;
第三行依次输出奇数子链表的所有数据。
Example Input
10
1 3 22 8 15 999 9 44 6 1001
Example Output
4 6
22 8 44 6
1 3 15 999 9 1001
#include<stdio.h> #include<stdlib.h> typedef struct node { int data; struct node *next; }ST; int n1, n2; ST *creat(int n) { ST *tail, *p, *head; head = (ST *)malloc(sizeof(ST)); head->next = NULL; tail = head; while(n--) { p = (ST *)malloc(sizeof(ST)); scanf("%d", &p->data); p->next = NULL; tail->next = p; tail = p; } return head; } void Break(ST *head, ST *head1, ST *head2) { ST *tail, *p, *q, *tai; p = head1; q = head2; tail = head->next; free(head); tai = tail->next; for(; tail != NULL; ) { tail->next = NULL; if(tail->data % 2 == 0) { p->next = tail; p = p->next; n1++; } else { q->next = tail; q = q->next; n2++; } tail = tai; if(tail) tai = tai->next; } } void input(ST *head) { ST *tail; for(tail = head->next; tail != NULL; tail = tail->next) { printf("%d", tail->data); if(tail->next != NULL) printf(" "); else printf("\n"); } } int main() { ST *head, *head1, *head2; int n; scanf("%d", &n); head = creat(n); head1 = (ST *)malloc(sizeof(ST)); head1->next = NULL; head2 = (ST *)malloc(sizeof(ST)); head2->next = NULL; n1 = n2 = 0; Break(head, head1, head2); printf("%d %d\n", n1, n2); input(head1); input(head2); return 0; }
相关文章推荐
- SDUT 2120 数据结构实验之链表五:单链表的拆分
- SDUT 2120 数据结构实验之链表五:单链表的拆分
- SDUT 2120 数据结构实验之链表五:单链表的拆分 解法2
- SDUT 2120 数据结构实验之链表五-单链表的拆分
- 2120-数据结构实验之链表五:单链表的拆分
- 【2120】数据结构实验之链表五:单链表的拆分
- SDUTOJ 2120数据结构实验之链表五:单链表的拆分
- 【2120】数据结构实验之链表五:单链表的拆分
- 【2120】数据结构实验之链表五:单链表的拆分 sdutOJ
- SDUT-数据结构实验之链表五:单链表的拆分
- 【2120】数据结构实验之链表五:单链表的拆分 sdutOJ
- 【2120】数据结构实验之链表五:单链表的拆分
- 2120 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分