博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单链表的拆分
阅读量:5366 次
发布时间:2019-06-15

本文共 1459 字,大约阅读时间需要 4 分钟。

Problem Description输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。Input第一行输入整数N;;第二行依次输入N个整数。Output第一行分别输出偶数链表与奇数链表的元素个数; 第二行依次输出偶数子链表的所有数据;第三行依次输出奇数子链表的所有数据。Example Input101 3 22 8 15 999 9 44 6 1001Example Output4 622 8 44 6 1 3 15 999 9 1001#include 
#include
#include
#include
using namespace std;struct node{ int data; struct node *next;}*head1,*head2;int m,k;//m记录偶数的个数,k记录奇数的个数struct node *creat(int n){ m=0; k=0; int i; struct node *t,*p,*q; head1=(struct node *)malloc(sizeof(struct node)); head2=(struct node *)malloc(sizeof(struct node)); head1->next=NULL; head2->next=NULL; t=head1; q=head2; for(i=0;i
data); if(p->data%2==0) { p->next=NULL; t->next=p; t=t->next; m++; } else { p->next=NULL; q->next=p; q=q->next; k++; } } return head1;};void show(struct node *head){ struct node *p; p=head->next; while(p) { if(p->next==NULL) printf("%d\n",p->data); else printf("%d ",p->data); p=p->next; }}int main(){ int n; scanf("%d",&n); creat(n); printf("%d %d\n",m,k); show(head1); show(head2); return 0;}

 

转载于:https://www.cnblogs.com/xiao-xue-di/p/9454754.html

你可能感兴趣的文章
MAC下apache+php
查看>>
lambda----jdk8重头戏
查看>>
Java容器——Map接口
查看>>
python 2.7 rsa 离线安装 和使用示例
查看>>
module.exports与exports,export与export default之间的关系和区别
查看>>
菜单小谈
查看>>
Python第三方模块tesserocr安装
查看>>
【Gamma】Scrum Meeting 7
查看>>
Android SQlite详解
查看>>
BBS-项目流程分析-表的创建
查看>>
操作系统简介
查看>>
创建一个dynamics CRM workflow (五) - Deploy Custom Workflows
查看>>
ThinkPHP - Widget 工具
查看>>
前端图片上传预览
查看>>
(ZZ)ACM之歌
查看>>
Mecanim高级主题:Mecanim Blend Tree应用、Blend Tree 选项、复合Blend Tree
查看>>
分页/pagination
查看>>
HOJ Funfair
查看>>
web前端使用localstorage、sessionstorage、cookie增删获方法
查看>>
不要轻视行动的力量
查看>>