教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

数据结构与算法实验报告-约瑟夫环(2)

来源:网络收集 时间:2026-08-03
导读: n、s、m的值分别为100、3、5时所得结果如下: 经过手算比较,程序运行正确。 六、附录 带注释的源程序为: #include #include #define ERROR -1 #define OK 0 typedef int LElemType; typedef int Status; typedef

n、s、m的值分别为100、3、5时所得结果如下:

经过手算比较,程序运行正确。

六、附录

带注释的源程序为: #include #include #define ERROR -1 #define OK 0

typedef int LElemType; typedef int Status; typedef struct LNode {

LElemType data; struct LNode *next; }LNode,*LinkList;

LNode *CreateLinkList(int n)//顺序建立链表,L为头结点 {

int i,x;

LNode *p; LNode *s; LNode *L;

L=(LNode*)malloc(sizeof(LNode)); p=(LNode*)malloc(sizeof(LNode)); L->next=p;//循环链表空表 p->next=L->next;//p为尾结点 p->data=1; x=1;

for(i=0;i<=n-2;i++) { x++;

s=(LNode*)malloc(sizeof(LNode)); s->data=x;//插入表尾 p->next=s; p=s;

// printf(\ }

p->next=L->next; return L; }

Status ListDelete_L(LNode *L,LElemType *e)

{//删除队列当前位置的元素q,并用e返回其值, LNode *p; LNode *q;

p=L;

if(!(p->next)) return ERROR; if (p->next==p) {

// printf(\ //printf(\ L->next=NULL; } else

{q=p->next;

p->next=q->next; *e=q->data; free(q); }

return OK;

}//ListDelete_L int main(void) {

int s,m,n; int j,e,cc; LNode *L; cc=1;

printf(\ scanf(\

printf(\ scanf(\ printf(\ scanf(\

L=CreateLinkList(n);

if(L->next->next= =L->next) return OK;//空表 else {

for(j=1;jnext;

//从第s个人开始报数 }

while(L->next!=NULL) {

if (cc==1) //CC用于判断是否刚开始报数,1为刚开始 2为已经有人离开队列, {

for(j=1;j

L=L->next;

//printf(\ //用于调试,观察开始报数的顺序,正式运行时可以注释掉 }

ListDelete_L(L,&e);//删数第m个 printf(\ //出队列的数打印 ++cc; } else {

for(j=2;j<=m;j++) //有人离开队列后,报数为1的数向前移动了一位,因此,循环从2开始 {

L=L->next;

//printf(\ //用于调试,看开始报数的顺序,正式运行时可以注释掉 }

ListDelete_L(L,&e);//删数第m个

printf(\ //出队列的数打印 } }

return OK; }

getchar();//循环不自动结束 }

数据结构与算法实验报告-约瑟夫环(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/592554.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)