2120数据结构实验之链表五:单链表的拆分
来源:互联网 发布:李约瑟问题知乎 编辑:程序博客网 时间:2024/06/06 01:10
数据结构实验之链表五:单链表的拆分
#include<iostream>#include<malloc.h>using namespace std;int a=0,b=0;struct node{ int data; struct node *next;};struct node *creat(int m){ struct node *head,*tail,*p; int i; head=(struct node *)malloc(sizeof(struct node)); head->next=NULL; tail=head; for(i=1;i<=m;i++) { p=(struct node *)malloc(sizeof (struct node )); cin>>p->data; p->next=NULL; tail->next=p; tail = p; } return head;};struct node *split(struct node *head1){ struct node *p,*q,*head2; head2=(struct node*)malloc(sizeof(struct node )); head2->next=NULL; p=head1->next;head1->next=NULL; q=p->next; struct node *tail1=head1; struct node *tail2=head2; while(p) { if(p->data%2==0) { a++; tail1->next= p; tail1=p; tail1->next=NULL; } else { b++; tail2->next= p; tail2=p; tail2->next=NULL; } p=q; if(q) { q=q->next; } } return head2;}void display(struct node *head1){ struct node *q; q=head1->next; while(q!=NULL) { cout << q->data; if(q->next!=NULL) cout<<" "; q=q->next; } cout<<endl;}int main(){ int n,h,m; struct node *head1,*head2; cin>>m; head1=creat(m); head2= split(head1); cout<<a<<" "<<b<<endl; display(head1); display(head2); return 0;}
0 0
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- html06 盒子模型 margin border padding
- 统计学习方法 李航---第5章 决策树
- Java NIO系列教程(一)Java NIO概述
- java访问网址
- 10081
- 2120数据结构实验之链表五:单链表的拆分
- DataGrid和GridView自动增加序号(三种实现方式)
- 声学模型学习笔记(五) SDT(MMI/BMMI/MPE/sMBR)
- LeetCode-Remove Duplicates from Sorted List
- 10082
- android中网格布局组件溢出原因
- jQuery动画函数
- QT QPapint的使用
- Android 监听back事件,点击两次退出程序