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

来源:互联网 发布:sysgettempdir php 编辑:程序博客网 时间:2024/05/18 02:21
#include<iostream>#include<stdlib.h>using namespace std;typedef int ElemType;typedef struct LNode{ElemType data;struct LNode *next;}LNode,*LinkList;void showList(LinkList L){LinkList q;q=L->next;    while(q){if(q->next==NULL)cout<<q->data<<endl;elsecout<<q->data<<" ";q=q->next;}}void DivideList(LinkList La){LinkList Lb,Lc,p,tail1,tail2,t;int a=0,b=0;Lb=new LNode;Lb->next=NULL;tail1=Lb;Lc=new LNode;    Lc->next=NULL;tail2=Lc;p=La->next;    while(p!=NULL){t=new LNode;t->next=NULL;t->data=p->data;if((t->data)%2==0){tail1->next=t;tail1=t;a++;}else{tail2->next=t;tail2=t;b++;}p=p->next;}cout<<a<<" "<<b<<endl;showList(Lb);showList(Lc);}void CreateList_L(LinkList &La,int n){LinkList p;La=new LNode;La->next=NULL;LinkList q=La;for(int i=1;i<=n;i++){p=new LNode;cin>>p->data;p->next=NULL;q->next=p;q=p;}DivideList(La);}int main(){int n;cin>>n;LinkList La;CreateList_L(La,n);return 0;}

0 0
原创粉丝点击