| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1846 人关注过本帖
标题:q请精通C C++的进来帮关于约瑟环的
只看楼主 加入收藏
wuhen639
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-12-26
收藏
 问题点数:0 回复次数:4 
q请精通C C++的进来帮关于约瑟环的


约瑟夫环:将编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个开始按顺时针方向自1开始报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。设m的初值为20,密码为:3,1,7,2,4,8,4。

得用c++类编写
谢谢!

搜索更多相关主题的帖子: 约瑟 时针 密码 整数 
2005-12-27 22:24
RL720
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2005-11-6
收藏
得分:0 
以前做过的
不过不给你源码 嘿嘿 说不给就不给 ~~

template <class T>

struct Node

{

T data;

Node<T> *next;

};

循环链表的基本操作:

LinkList(T a[], int n)

{

1、生成头节点

2、尾指针初始化

3、根据传入元素个数建立循环

3.1、为每个数组元素建立一个节点

3.2、插入到终端节点后

4、循环链表建立完毕,将终端指针指向头节点

5、将起点指针指向头节点

}

LinkList()

{

1、初始化p

2、循环链表循环一圈

2.1、暂存被释放节点

2.2、p指向被释放节点的后继节点

2.3、释放节点

}

T Delete(int i)

{

1、计数器j设为1 //因为要指向要删除节点的前一个节点

2、建立指针p、q,p指向起点指针Temp

3、建立暂存被删除数据的元素temp

4、查找被删除节点的前一个节点

4.1、若p指向不是倒数第二个节点即p的下下个节点不是头节点,p指向p的下 一个节点

否则p指向头节点

4.2、计数器j自增

5、若p指向的不是头节点

5.1、暂存被删节点和被删元素值

5.2、将p的后继节点指向被删节点的后继节点

否则

5.1、暂存被删节点和被删元素值

5.2、将头节点的后继节点指向被删节点的后继节点

6、释放被删节点

7、若p的后继节点不是头节点,起点指针指向p节点

否则起点节点指向头节点

8、返回被删元素值

}

void PrintList()

{

1、 初始化p

2、 循环链表循环一圈

2.1、输出节点数据

2.2、p指向p的后继

}

主程序:

void main()

{

1、 建立顺序数组iOrder[100]和密码数组iPsw[100]

2、 提示用户输入初始密码上限

3、 建立密码上限iMax、密码iWord以及计数器j,初始化j=0

4、 输入iMax

5、 若iMax不大于30,iMax值不变,否则iMax为30

6、 提示用户输入依次密码

7、 输入iWord

8、 若iWord不满足结束条件或计数器j小于100,循环

8.1、给密码数组iPsw[j]赋值

8.2、给顺序数组iOrder[j]赋值

8.3、计数器j自增

8.4、输入iWord

9、建立暂存密码的psw和暂存返回值的x

10、建立循环列表对象a并用顺序数组iOrder初始化

11、输出循环链表初始顺序

12、建立计数器i为0并以i<j循环

12.1、调用循环链表的删除元素函数Delete(int i)并将返回值赋给x

12.2、输出x为出列顺序

12.3、设置新密码

}


2005-12-28 09:26
woya1985
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-11-16
收藏
得分:0 
你是个好人,不给是好事,免得以后偷懒,总要别人做
2005-12-29 12:32
三金
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-1-3
收藏
得分:0 
好牛哦
2006-01-03 19:31
lzrzhao
Rank: 1
来 自:BJ
等 级:新手上路
帖 子:37
专家分:5
注 册:2006-5-22
收藏
得分:0 

答得好


路漫漫其修远,吾将上下而求索
2006-05-22 15:42
快速回复:q请精通C C++的进来帮关于约瑟环的
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015001 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved