数据结构实验之链表五:单链表的拆分
来源:互联网 发布:螺纹梳刀编程 编辑:程序博客网 时间:2024/05/17 00:55
数据结构实验之链表五:单链表的拆分
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。
输入
第一行输入整数N;;
第二行依次输入N个整数。
第二行依次输入N个整数。
输出
第一行分别输出偶数链表与奇数链表的元素个数;
第二行依次输出偶数子链表的所有数据;
第三行依次输出奇数子链表的所有数据。
第二行依次输出偶数子链表的所有数据;
第三行依次输出奇数子链表的所有数据。
示例输入
101 3 22 8 15 999 9 44 6 1001
示例输出
4 622 8 44 6 1 3 15 999 9 1001
#include<stdio.h>#include<malloc.h>struct node{ int number; struct node* next;};struct node* Create(int num){ struct node* head,*tail,*p; head=(struct node*)malloc(sizeof(struct node)); tail=head; for(int i=0;i<num;i++) { p=(struct node*)malloc(sizeof(struct node)); scanf("%d",&p->number); p->next=NULL; tail->next=p; tail=p; } return head;};int split(struct node*head,struct node *head2){ struct node *tail,*tail2,*q; int number=0; tail=head; tail2=head2; q=head->next; head->next=NULL; head2->next=NULL; while(q) { if(q->number%2==0) { tail->next=q; tail=q; number++; q=q->next; tail->next=NULL; } else { tail2->next=q; tail2=q; q=q->next; tail2->next=NULL; } } return number;};void shuchu(struct node*head){ struct node *p; p=head->next; while(p) { if(p==head->next) printf("%d",p->number); else printf(" %d",p->number); p=p->next; } printf("\n");}int main(){ int n1,n2,temp; struct node *head1,*head2; head2=(struct node*)malloc(sizeof(struct node)); scanf("%d",&n1); head1=Create(n1); temp=split(head1,head2); n2=n1-temp; n1=temp; printf("%d %d\n",n1,n2); shuchu(head1); shuchu(head2);}
0 0
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- Box2d源码学习<五>b2Timer、b2Draw和b2Settings的实现
- 集合三_Set_HashSet和TreeSet
- Why Tomcat7 is replicating all my logs in /var/log/messages
- bash 调用
- 1000以内的回文素数
- 数据结构实验之链表五:单链表的拆分
- 利用织梦高级搜索功能 , 来定制身份证驾驶证信息查询系统
- ACM--模拟--nyoj 559--报数游戏--湖南第七届省赛
- 斐波那契数列的第 n 项 mod 1000000007(矩阵乘法)
- 浅析栈区和堆区内存分配的区别
- 你好哇,程序员 - me 跳槽经验说
- Box2d源码学习<六>动态树的实现
- 数据库优化
- java堆与栈