开发工具:
文件大小: 1kb
下载次数: 0
上传时间: 2018-08-24
详细说明: C语言代码参考,单链表的拆分 #include #include struct node { int data; struct node * next; }; struct node * creat(int n) { struct node * head,* p; head=(struct node *)malloc(sizeof(struct node)); head->next=NULL; int i; for(i=1;i<=n;i++) { p=(struct node *)malloc(sizeof(struct node)); scanf("%d",&p->data); p->next=head->next; head->next=p; } return head; } struct node * split(struct node * head1) { int c1= 0; int c2=0; struct node * head2,* p,* q; head2=(struct node *)malloc(sizeof(struct node)); head2->next=NULL; p=head1->next; head1->next=NULL; q=p->next; while(p) { if(p->data%2==0) { p->next=head1->next; head1->next=p; c1++; } else { p->next=head2->next; head2->next=p; c2++; } p=q; if(q) q=q->next; } printf("%d %d\n",c1,c2); return head2; } void show(struct node * head) { struct node *p; p=head->next; while(p) { printf("%d",p->data); if(p->next) printf(" "); p=p->next; } printf("\n"); } int main() { int n; struct node * head1,* head2; scanf("%d",&n); head1=creat(n); head2=split(head1); show(head1); show(head2); return 0; } ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.