本人用C++编写的约瑟夫环的小程序,望指教
2008-03-08 12:29:41 来源:WEB开发网核心提示:#include<stdlib.h>#include<iostream.h>typedef strUCt LNode{ int num,pwd; struct LNode *next;}LNode, *LinkList;void main(){ int a,i,m,n,j;//m为报数上限值,n
#include<stdlib.h>
#include<iostream.h> typedef strUCt LNode
{
int num,pwd;
struct LNode *next;
}LNode, *LinkList; void main()
{
int a,i,m,n,j;//m为报数上限值,n为人数,j为输入的密码;
cout<<"please enter m and n:";
cin>>m>>n;
LinkList head,p,pt;//head为头节点的指针,p为当前指针的前一指针,pt为当前指针;
head=(LinkList)malloc(sizeof(LNode));
p=head;
for(i=1;i<n;i++)
{
pt=(LinkList)malloc(sizeof(LNode));
p->next=pt;
p=pt;
}
pt->next=head;
pt=head;
p=head;//建立n个节点; cout<<"please enter the passWord:";
for(i=1;i<=n;i++)
{
cin>>j;
p->num=i;
p->pwd=j;
p=p->next;
}
pt=head;
p=head;//输入各个人的密码; for(i=1;i<n;i++)
pt=p;//找寻最后一个节点; for(i=1;i<=n;i++)
{
for(a=1;a<m;a++)
{
p=p->next;
}
pt=p->next;
m=pt->pwd;
cout<<pt->num;
p->next=pt->next;
free(pt);
pt=p;//输出各人的编号;
}
}
#include<iostream.h> typedef strUCt LNode
{
int num,pwd;
struct LNode *next;
}LNode, *LinkList; void main()
{
int a,i,m,n,j;//m为报数上限值,n为人数,j为输入的密码;
cout<<"please enter m and n:";
cin>>m>>n;
LinkList head,p,pt;//head为头节点的指针,p为当前指针的前一指针,pt为当前指针;
head=(LinkList)malloc(sizeof(LNode));
p=head;
for(i=1;i<n;i++)
{
pt=(LinkList)malloc(sizeof(LNode));
p->next=pt;
p=pt;
}
pt->next=head;
pt=head;
p=head;//建立n个节点; cout<<"please enter the passWord:";
for(i=1;i<=n;i++)
{
cin>>j;
p->num=i;
p->pwd=j;
p=p->next;
}
pt=head;
p=head;//输入各个人的密码; for(i=1;i<n;i++)
pt=p;//找寻最后一个节点; for(i=1;i<=n;i++)
{
for(a=1;a<m;a++)
{
p=p->next;
}
pt=p->next;
m=pt->pwd;
cout<<pt->num;
p->next=pt->next;
free(pt);
pt=p;//输出各人的编号;
}
}
[]
- ››编写Linux系统下Daemon程序的方法步骤
- ››编写组件,使用JavaScript更新UpdatePanel
- ››编写多文档应用程序
- ››编写自定义的 Android Preference 组件
- ››编写高效的Android代码
- ››编写 Android第一个程序 Hello, Android!
- ››编写使用root权限的android应用程序
- ››编写 android 简单的手势切换视图示例
- ››编写高效的 Android 代码
- ››编写一个STL中的CString类
- ››编写操作 DB2 数据的 Web 应用程序(第 1 部分)
- ››编写操作 DB2 数据的 Web 应用程序(第 2 部分)
赞助商链接