SDUT 2120-数据结构实验之链表五:单链表的拆分
来源:互联网 发布:北京市政务数据资源网 编辑:程序博客网 时间:2024/06/05 09:43
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<stdio.h>#include<stdlib.h>typedef struct node{ int data; struct node *next;}ST;int n1, n2;ST *creat(int n){ ST *tail, *p, *head; head = (ST *)malloc(sizeof(ST)); head->next = NULL; tail = head; while(n--) { p = (ST *)malloc(sizeof(ST)); scanf("%d", &p->data); p->next = NULL; tail->next = p; tail = p; } return head;}void Break(ST *head, ST *head1, ST *head2){ ST *tail, *p, *q, *tai; p = head1; q = head2; tail = head->next; free(head); tai = tail->next; for(; tail != NULL; ) { tail->next = NULL; if(tail->data % 2 == 0) { p->next = tail; p = p->next; n1++; } else { q->next = tail; q = q->next; n2++; } tail = tai; if(tail) tai = tai->next; }}void input(ST *head){ ST *tail; for(tail = head->next; tail != NULL; tail = tail->next) { printf("%d", tail->data); if(tail->next != NULL) printf(" "); else printf("\n"); }}int main(){ ST *head, *head1, *head2; int n; scanf("%d", &n); head = creat(n); head1 = (ST *)malloc(sizeof(ST)); head1->next = NULL; head2 = (ST *)malloc(sizeof(ST)); head2->next = NULL; n1 = n2 = 0; Break(head, head1, head2); printf("%d %d\n", n1, n2); input(head1); input(head2); return 0;}
阅读全文
0 0
- SDUT 2120 数据结构实验之链表五:单链表的拆分
- SDUT 2120 数据结构实验之链表五-单链表的拆分
- SDUT 2120-数据结构实验之链表五:单链表的拆分
- SDUT OJ 数据结构实验之链表五:单链表的拆分
- sdut oj数据结构实验之链表五:单链表的拆分
- SDUT-数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- mac下如何安装mysql以及忘记密码如何重置密码
- MAC 下面 PYTHON的安装与使用
- P1196 银河英雄传说 洛谷
- 基于Python操作ElasticSearch
- LA 3942 Remember the Word
- SDUT 2120-数据结构实验之链表五:单链表的拆分
- 运维自动化架构
- 折弯它的流,再挂个钩
- java socket编程
- 网络七层模型
- 关于蓝桥杯ds18b20在数码管上显示
- SOCKET通信——winsock编程
- Spring 通过注解配置 Bean(2)
- OpenStack环境下安装Tacker