数据结构猴子选大王

数据结构猴子选大王

ID:39497421

大小:91.00 KB

页数:4页

时间:2019-07-04

数据结构猴子选大王_第1页
数据结构猴子选大王_第2页
数据结构猴子选大王_第3页
数据结构猴子选大王_第4页
资源描述:

《数据结构猴子选大王》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、猴子选大王1.题目要求:任务:一堆猴子都有编号,编号是1,2,3...m,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。要求:输入数据:输入m,nm,n为整数,n

2、m"#include"stdlib.h"usingnamespacestd;typedefstructnode{intdata;structnode*next;//定义结点指针}ListNode;typedefListNode*Linklist;//自定义链表类型ListNode*q,*p;Linklisthead=(Linklist)malloc(sizeof(ListNode));//申请头结点/*******按将猴子数量编号并存入链表*******/LinklistCreate(intn){inti;p=head;p->next=NULL;for(i=

3、1;i<=n;i++){//将猴子顺序编号q=(ListNode*)malloc(sizeof(ListNode));q->data=i;p->next=q;p=q;p->next=NULL;}returnhead;//返回链表头指针}/****************打印链表***************/voidprintlist(Linklisthead){p=head->next;while(p){//打印链表直至链表结尾cout<data<<"";p=p->next;}}/**************删除被选到的猴子************

4、*****/voidDelete(ListNode*b,ListNode*pb)/*pb为删除结点的前驱*/{pb->next=b->next;free(b);}/**************猴子选大王(数n个)**************/intKing(Linklisthead,intn,inti){intj,k;ListNode*pp,*t;/*删除节点前驱*/p=head;if(i==1)returni;while(i!=1){for(j=0;jnext;if(!p)p=head->next;}i

5、f(!p->next)t=head;//当删除的结点为最后一个结点时,t指向头结点elset=pp;Delete(p,pp);p=t;i--;}k=pp->data;//将最后一只猴子的编号赋值给kreturnk;//返回最后一只猴子编号}voidmain(){inti,c,k,flag=0;cout<<"请输入猴子数量"<>i;cout<<"--------------将猴子顺序编号--------------"<

6、---------编号结束-----------------"<>c;if(c>i)cout<<"输入数量大于猴子数量,请重新输入"<

7、

8、c==i)flag=1;}k=King(head,c,i);//调用猴子先大王函数cout<<"大王编号为"<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。