约瑟夫环,删除后,剩下最后一个数字
来源:互联网 发布:开票软件登录 编辑:程序博客网 时间:2024/05/01 00:02
对原来的约瑟夫环进行修改:剩下最后的一个数字,并返回此数字在原来数组中的下标。
#include<stdio.h>#include<stdlib.h>typedef struct student{int data;int index;struct student *next;}node;int hwyuesefu(int *a,int n,int k,int m){int i=0;node *p,*t,*r,*curr;p=(node *)malloc(sizeof(node));p->data=a[i];p->index=0;p->next=p;curr=p;for(i=1;i<n;i++){t=(node *)malloc(sizeof(node));t->data=a[i];t->index=i;curr->next=t;curr=t;}curr->next=p;while(p->next!=p){for(int j=0;j<=m-1;j++){r=p;p=p->next;}r->next=p->next;printf("%d->",p->data);free(p);p=r->next;}printf("\n");printf("the last data is:");printf("%d\n",p->data);return (p->index);}void main(){int index;int a[8]={6,3,7,9,8,0,4,10};index=hwyuesefu(a,8,0,2);printf("the index of the last data is:");printf("%d\n",index);}
运行结果:
7->0->6->8->3->10->9->
the last data is:4
the index of the last data is:6
- 约瑟夫环,删除后,剩下最后一个数字
- 18 约瑟夫环问题 n个数字,每次从这个圆圈中删除第m个数字,求剩下的最后一个数字
- 圆圈中最后剩下的数字(约瑟夫环问题)
- 【笔试】53、圆圈中最后剩下的数字(约瑟夫环)
- 圆圈中最后剩下的数字(约瑟夫环问题)
- 面试45:圆圈最后剩下的数字(约瑟夫环)
- 圆圈中最后剩下的数字(约瑟夫环问题)
- 圆圈中最后剩下的数字(约瑟夫环问题)
- 圆圈中最后剩下的数字(约瑟夫环问题)
- 圆圈中最后剩下的数字(约瑟夫环问题)
- 约瑟夫环输出最后一个数字
- 约瑟夫环的问题---最后剩下哪一个
- 删除n个数后最后剩下最小值
- 剑指offer 面试题45—圆圈中最后剩下的数字(约瑟夫环)
- 【剑指Offer学习】【面试题45:圆圈中最后剩下的数字(约瑟夫环问题)】
- 剑指offer面试题 圆圈中最后剩下的数字(约瑟夫环问题)
- 剑指offer(49):约瑟夫环问题(圆圈中最后剩下的数字)
- 面试题45:圆圈中最后剩下的数字(约瑟夫环问题)
- Oracle注入utl_http存储攻击尝试
- Fedora 15 安装攻略
- 未来一年内计划做得事情
- 堆排序
- 犀利的 oracle 注入技术
- 约瑟夫环,删除后,剩下最后一个数字
- 关于const的使用
- Android 应用程序多Activity跳转之后退出整个程序
- VC释放EXE资源文件
- 三星SM431性能参数!
- 数学之美--贝塞尔曲线
- 理解MFC中的“资源”概念
- C语言研究性学习的路线之号外:一些朋友所提问题的反馈及第9章 指针
- 常用Python第三方库 简介