注:约瑟夫问题的代码实现需要链表能够循环,其次需要找准每次被杀对象,杀掉目标(将被杀对象的上一个与其下一个相连),输出最后存活的对象。
代码实现: #include<bits/stdc++.h> using namespace std; struct node { int data; struct node *next,*front; }; struct node *creat(int n)///建立双向链表。 { struct node *head,*tail,*p; head=(struct node *)malloc(sizeof(struct node)); head->next=NULL; head->front=NULL; head->data=1; tail=head; for(int i=2;i<=n;i++) { p=(struct node *)malloc(sizeof(struct node)); p->next=NULL; p->front=NULL; p->data=i; tail->next=p; p->front=tail; tail=p; } tail->next=head;///让链表得以循环。 head->front=tail; return head; } void game(struct node *head,int n,int x)///游戏开始。 { struct node *p,*q; p=head->front; while(p->next!=p) { for(int i=1;i<x;i++) { p=p->next; } p->next=p->next->next; } printf("%d",p->data); } int main() { int n,x; scanf("%d%d",&n,&x); struct node *head; head=creat(n); game(head,n,x); return 0; }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算