数据结构实验之链表五:单链表的拆分
2017-09-29 00:11
323 查看
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 int elemtype; typedef struct lnode { elemtype data; struct lnode *next; }lnode,*linklist; linklist creat(int n) { lnode *head,*tail,*p; int i,a; head=new lnode; head->next=NULL; tail=head; for(i=0;i<n;i++) { p=new lnode; scanf("%d",&a); p->data=a; p->next=NULL; tail->next=p; tail=p; } return head; } int main() { linklist head,head2; int n,num1=0,num2=0; scanf("%d",&n); head=creat(n); lnode *p,*q,*tail1,*tail2; head2=new lnode; p=head->next; head->next=NULL; q=p->next; tail1=head; tail2=head2; while(p) { if(p->data%2==0) { tail1->next=p; p->next=NULL; tail1=p; num1++; } else { tail2->next=p; p->next=NULL; tail2=p; num2++; } p=q; if(q) { q=q->next; } } printf("%d %d\n",num1,num2); lnode *l; l=head->next; printf("%d",l->data); l=l->next; while(l) { printf(" %d",l->data); l=l->next; } printf("\n"); lnode *s; s=head2->next; printf("%d",s->data); s=s->next; while(s) { printf(" %d",s->data); s=s->next; } printf("\n"); return 0; }
相关文章推荐
- 数据结构实验之链表五:单链表的拆分
- 【2120】数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 2120-数据结构实验之链表五:单链表的拆分
- SDUT OJ 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 寒假第二天--线性表-- 数据结构实验之链表五:单链表的拆分
- SDUT 2120-数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- SDUT 2120 数据结构实验之链表五:单链表的拆分 解法2
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- SDUT 2120 数据结构实验之链表五-单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分