数据结构实验之链表五:单链表的拆分
来源:互联网 发布:linux输入中文 编辑:程序博客网 时间:2024/06/05 17:29
数据结构实验之链表五:单链表的拆分
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。
Input
第一行输入整数N;;
第二行依次输入N个整数。
第二行依次输入N个整数。
Output
第一行分别输出偶数链表与奇数链表的元素个数;
第二行依次输出偶数子链表的所有数据;
第三行依次输出奇数子链表的所有数据。
第二行依次输出偶数子链表的所有数据;
第三行依次输出奇数子链表的所有数据。
Example Input
101 3 22 8 15 999 9 44 6 1001
Example Output
4 622 8 44 6 1 3 15 999 9 1001
在遍历的过程中将奇数放入新表,偶数留在原表即可。
#include<stdio.h>#include<stdlib.h>typedef struct node{ int data; struct node *next;}*linkList;int count = 0;void creatList(linkList &L,int n){ struct node *p, *tail; L =new node; tail = L; for(int i = 0; i < n; i++){ p = (struct node*)malloc(sizeof(struct node)); scanf("%d", &p->data); p->next = NULL; tail->next = p; tail = p; }};void outputData(linkList &L){struct node *p;p = L->next; while(p){ if(p->next == NULL) printf("%d\n", p->data); else printf("%d ", p->data); p = p->next; }}linkList chaifen(linkList head){linkList p, q;linkList head2, tail, tail2;head2 = new node; head2->next = NULL; tail2 = head2; p = head->next; head->next = NULL; tail = head; q = p->next; while(p) { if(p->data % 2 != 0) { p->next = tail->next; tail->next = p; tail = p; count ++; } else { p->next = tail2->next; tail2->next = p; tail2 = p; } p = q; if(q) q = q->next; } return head2;}int main(){ int n; scanf("%d", &n); linkList La, L; creatList(La, n); L = chaifen(La); printf("%d %d\n", n-count, count); outputData(L); outputData(La); return 0;}
阅读全文
0 0
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- python list 切片
- [BZOJ3140][HNOI2013]消毒(二分图最小点覆盖)
- 机器学习:朴素贝叶斯(待补充)
- HDU-2896-AC自动机
- 文章标题
- 数据结构实验之链表五:单链表的拆分
- 关于assert()的问题
- 思考的救赎(一):三消游戏实现探索
- SpringMVC的Controller层参数绑定以及返回值
- java.util.Arrays
- 数据类型长度
- 【步兵 shader】扫光
- 输入一串数,将最大数与最小数相减
- 常用正则表达式整理