博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构实验之链表五:单链表的拆分
阅读量:3947 次
发布时间:2019-05-24

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

数据结构实验之链表五:单链表的拆分

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。
Input
第一行输入整数N;;
第二行依次输入N个整数。
Output
第一行分别输出偶数链表与奇数链表的元素个数;
第二行依次输出偶数子链表的所有数据;
第三行依次输出奇数子链表的所有数据。
Sample Input
10
1 3 22 8 15 999 9 44 6 1001
Sample Output
4 6
22 8 44 6
1 3 15 999 9 1001
Hint
不得使用数组!

代码如下:

#include
#include
typedef struct node{ int data; struct node *next;} Node ;Node *creatList(int n){ Node *head,*p; int i; head=(Node *)malloc(sizeof(Node )); head->next=NULL; for(i=0;i
data); p->next=head->next; head->next=p; } return head;}Node *split(Node *head1){ Node *head2,*p,*q; int cnt1=0,cnt2=0; head2=(Node *)malloc(sizeof(Node )); head2->next=NULL; p=head1->next; head1->next=NULL; q=p->next; while(p) { if(p->data%2==0) { p->next=head1->next; head1->next=p; cnt1++; } else { p->next=head2->next; head2->next=p; cnt2++; } p=q; if(q!=NULL) q=q->next; } printf("%d %d\n",cnt1,cnt2); return head2;}void Print(Node *head){ Node *s; s=head->next; while(s) { if(s->next==NULL) printf("%d\n",s->data); else printf("%d ",s->data); s=s->next; }}void main(){ int n; Node *head1,*head2,*s; scanf("%d",&n); head1=creatList(n); head2=split(head1); Print(head1); Print(head2);}

转载地址:http://wzhwi.baihongyu.com/

你可能感兴趣的文章
android USB如何修改Serial Number or SN?
查看>>
android 用svn管理的版本编译出来有问题
查看>>
android 如何用jar包代替java代码编译
查看>>
android 数据连接关闭的情况下如何让彩信发不出去
查看>>
android 编辑彩信,加入几页铃声,预览暂停界面,铃声名字不见了
查看>>
android 在新建短信时,加入名称为","(英文逗号)的联系人时,应用崩溃的修改
查看>>
android 关于LCD背光调节渐变过程引起背光闪烁问题
查看>>
android 保存具有不同前缀的同一号码分别为A和B,用其中一个呼叫,通话记录一直显示另一个联系人名字的问题
查看>>
android 在手机中预置联系人/Service Number
查看>>
android 系统语言为英语时,Contacts联系人名字含有特殊前缀后缀(Dr. Mr. Lt等)时的相关问题处理
查看>>
android 短信下,添加联系人,进入联系人多选界面出现联系人电话号码晃动的问题
查看>>
android 对一个合并后的联系人选择编辑,手机屏幕会缓慢变暗后再进入编辑界面的问题
查看>>
正确学习javascript。困惑的指南
查看>>
SERO幻影社区的背景怎么样?几大主流隐私币种技术分析!
查看>>
SERO目前具备的十大技术特点
查看>>
Neo4j CQL语句学习Day3
查看>>
Neo4j CQL学习Day4
查看>>
Mysql 数据库
查看>>
MySQL数据库练习
查看>>
Neo4j学习Day5
查看>>