【SDUT】【链表】2120 - 数据结构实验之链表五:…
2019-12-05 16:00:27来源:博客园 阅读 ()
【SDUT】【链表】2120 - 数据结构实验之链表五:单链表的拆分
Problem Description
输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。Input
第一行输入整数N;;第二行依次输入N个整数。
Output
第一行分别输出偶数链表与奇数链表的元素个数;第二行依次输出偶数子链表的所有数据;
第三行依次输出奇数子链表的所有数据。
Sample Input
10 1 3 22 8 15 999 9 44 6 1001
Sample Output
4 6 22 8 44 6 1 3 15 999 9 1001
Hint
不得使用数组!Source
1 #include <iostream> 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <algorithm> 5 6 using namespace std; 7 8 struct node 9 { 10 int data; 11 struct node *next; 12 }; 13 14 int cnt1,cnt2; 15 16 //申请空间 17 struct node *arr_mal(struct node *p) 18 { 19 p = (struct node *)malloc(sizeof(struct node)); 20 return p; 21 } 22 23 //创建链表 24 void arr_create(struct node *head,int n) 25 { 26 struct node *p=NULL,*tail=NULL; 27 tail = head; 28 while(n--) 29 { 30 p = arr_mal(p); 31 scanf("%d",&p ->data); 32 tail ->next = p; 33 tail = tail ->next; 34 } 35 } 36 37 //输出链表 38 void arr_prin(struct node *head) 39 { 40 struct node *p=NULL; 41 p = head ->next; 42 if(p != NULL) 43 { 44 printf("%d",p ->data); 45 p = p ->next; 46 } 47 while(p != NULL) 48 { 49 printf(" %d",p ->data); 50 p = p ->next; 51 } 52 printf("\n"); 53 } 54 55 //拆分 56 void arr_split(struct node *head1,struct node *head2) 57 { 58 59 struct node *p1=NULL,*p2=NULL,*tail=NULL; 60 p1 = head1; 61 p2 = head2; 62 while(p1 ->next != NULL) 63 { 64 if(p1 ->next->data%2) 65 { 66 p1 = p1 ->next; 67 cnt1++; 68 } 69 else 70 { 71 tail = p1 ->next; 72 p1 ->next = tail ->next; 73 tail ->next = NULL; 74 p2 ->next = tail; 75 p2 = p2 ->next; 76 cnt2++; 77 } 78 } 79 } 80 81 int main() 82 { 83 int n; 84 cnt1=cnt2=0; 85 struct node *head1=NULL,*head2=NULL; 86 head1 = arr_mal(head1); 87 head2 = arr_mal(head2); 88 scanf("%d",&n); 89 arr_create(head1,n); 90 arr_split(head1,head2); 91 printf("%d %d\n",cnt2,cnt1); 92 arr_prin(head2); 93 arr_prin(head1); 94 return 0; 95 }
原文链接:https://www.cnblogs.com/sdtuzxr/p/11992608.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:究竟是什么毁了我的impl实现
- leetcode 反转链表 2020-06-06
- 数据结构—链表 2020-05-29
- STL之list 2020-04-30
- 单链表 2020-03-31
- DSA_04:链表 2020-03-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash