数据结构实验之链表五:单链表的拆分
来源:互联网 发布:淘宝助理如何在线发货 编辑:程序博客网 时间:2024/06/10 18:14
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
#include<iostream>using namespace std;typedef struct LNode{ int number; struct LNode *next;}LNode,*LinkList;void Output(LinkList &L);void Separate(LinkList &L);void CreateLink(LinkList &L,int number);//尾插法void CreateLink(LinkList &L,int number){ L = new LNode; LinkList p; L->next = NULL; p = L; while(number--){ LinkList s = new LNode; cin>>s->number; s->next = p->next; p->next = s; p = s; }}//分离void Separate(LinkList &L){ LinkList L1,L2,p,pL1,pL2; int k1 = 0,k2 = 0; //建立两个带有头结点的空链表 L1 = new LNode; L2 = new LNode; L1->next = NULL; L2->next = NULL; pL1 = L1; pL2 = L2; p = L->next; while(p){ if(p->number%2==0){ LinkList s1 = new LNode; s1->number = p->number; s1->next = pL1->next; pL1->next = s1; pL1 = s1; ++k1; } else{ LinkList s2 = new LNode; s2->number = p->number; s2->next = pL2->next; pL2->next = s2; pL2 = s2; ++k2; } p = p->next; } pL1->next = NULL; pL2->next = NULL; cout<<k1<<" "<<k2<<endl; Output(L1); Output(L2);}void Output(LinkList &L){ LinkList p = L->next; while(p->next){ cout<<p->number<<" "; p = p->next; } cout<<p->number;//最后一个数没有空格 cout<<endl;}int main(){ LinkList L; int number; cin>>number; CreateLink(L,number); Separate(L); return 0;}
阅读全文
0 0
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 指针自增运算
- 家庭媒体中心解决方案(六、群晖nas扩展功能使用指南篇1-WordPress)
- 【工具】Sublime 访问 Evernote
- unity 关于手机客户端的本地文件储存问题 文件路径--适用于安卓手机
- 昂贵的聘礼
- 数据结构实验之链表五:单链表的拆分
- pip install error 在Python package下载中遇到ReadTimeoutError: HTTPSConnectionPool该怎么办
- anaconda win7安装报错:UnicodeDecodeError解决方法
- Java基础-方法区以及static的内存分配图
- 吴恩达机器学习笔记(2) 逻辑回归
- PHP json_encode 有序无序问题
- 批量装换文件夹下图片的格式
- 新手指南:DVWA全级别教程之CSRF
- 单链表、头指针、头结点、首元节点