约瑟夫环问题,自认为效率还可以;
来源:互联网 发布:日记本软件排名榜 编辑:程序博客网 时间:2024/05/17 09:11
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
struct ListNode
{
int id;
int data;
int cur;
};
static int count = 7;
static int pos = 0;
void yue(ListNode *plist, int length, int m)
{
//int pos = 0;
while(count >= 1)
{
pos = (m%length + pos -1 + (length - count) * (m)/length + length) % length;
while(plist[pos].id == -1)
{
pos = plist[pos].cur;
}
int next = plist[pos].cur;
int temp = pos;
while(plist[temp].cur!=pos)
{
temp = plist[temp].cur;
}
plist[temp].cur = next;
cout << plist[pos].id;
plist[pos].id = -1;
count --;
m = plist[pos].data;
pos = plist[next].id;
yue(plist, length, m);
}
}
void test(int a[], int length, int m)
{
while(length>=1)
{
int pos = ((m%length - 1) + length ) % length;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int array[] = {3, 1, 7, 2, 4, 8, 4};
ListNode myarray[7];
for(int i = 0; i < 7; i++)
{
myarray[i].id = i;
myarray[i].data = array[i];
myarray[i].cur = (i+1)%7;
}
yue(myarray, 7, 20);
return 0;
}
- 约瑟夫环问题,自认为效率还可以;
- Base64编码(汇编版,未做过多优化,性能自认为还可以)
- 一个自认为写得还可以的存储过程,就是没有注释,看起来有点乱。与ERP的BOM相关的
- 邮件发送工具类(自认为可以了)
- 约瑟夫环加强版用线段树解决m,,这类问题还可以拓展,只是一个思路,用线段树的思路要学习
- 约瑟夫问题、约瑟夫环
- 今天搞定一个自认为很怪得问题
- jsp中编码问题(自认为这个最好)
- 眼高手底,还不如做点自认为无聊的事
- 刚来深圳时,还面试了一个自认为好点的工作
- 高仿ios SwitchButton----(自认为仿的还不错)
- ZOJ 1088(可以模拟 快速解法约瑟夫环问题)
- 逻辑代码片段(自认为很严谨,有兴趣可以看看,提高初学者的代码能力)
- 还在为找不到合适的APP图标而烦恼?这里可以解决你的问题!
- struts2的缺点(自认为)
- Josephus约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题(Josephus)
- ASP.NET程序中常用代码汇总(一)
- 学习日期、日期格式、日期的解析和日期的计算
- 给年轻工程师的十大忠告
- 用sqlloader(sqlldr)装载LOB数据
- ASP.NET程序中常用代码汇总(二)
- 约瑟夫环问题,自认为效率还可以;
- 从Coding Fan到真正的技术专家
- ASP.NET程序中常用代码汇总(三)
- javax.ejb.EJBObject翻译
- ASP.NET程序中常用代码汇总(四)
- 在Java中应用工厂(Factory)模式
- 新的显示器
- AD学习笔记8——活动目录服务的基本安装和配置
- sql查询中如果有和关键字冲突的字段字段名要用[]括起来