约瑟夫问题作业

约瑟夫问题作业

ID:35450913

大小:104.88 KB

页数:5页

时间:2019-03-24

约瑟夫问题作业_第1页
约瑟夫问题作业_第2页
约瑟夫问题作业_第3页
约瑟夫问题作业_第4页
约瑟夫问题作业_第5页
资源描述:

《约瑟夫问题作业》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、约瑟夫问题求解一.源程序及程序运行结果1.、约瑟夫问题顺序表的实现#includeincludeHstdlib.hnusingnamespacestd;#defineMAXSIZE100〃线性表的最人长度structSeqList{intdata[MAXSIZE];intlength;};typedefSeqList*PSeqList;PScqListInit_ScqList(intn){inti=I;PSeqListSeqListPoint;SeqListPoint=(PSeq

2、List)malloc(sizeof(SeqList));if(ScqListPoint==NULL)returnNULL;elseSeqListPoint->length=0;for(intj=O;jlength++;SeqListPoint->dataLj]=i;i++;}COUt«H原始序列为:“;for(j=0;jlength;j++){cout«ScqListPoint->data[j]«,V,;}return(Se

3、qListPoint);}intDclctc_ScqList(PScqListSeqListPoint,inti)intj;讦(IScqListPoint)printf(M表不存在”);retum(-l);/*表不存在,不能删除元素*/}if(i<0

4、

5、i>SeqListPoint->length-1)/*检查删除位置的合法性*/{printfC*删除位置不合法”);return(0);}fbr(j=i+l;jlength;j++)SeqListPoint->data[

6、j-l]=SeqListPoint->data[j];/*向上移动*/SeqListPoint->length—;return(1);/*删除成功*/}intScqList(PScqListSeqListPoint,ints,intm){intsl,i,w;if(!SeqListPoint->length){printf(”表中无元素”);return(0);1sl=s-1;/*data数组屮b标从()开始*/cout«u输出约瑟夫序列:“;for(匸SeqListPoint->length;i>0

7、;i—){sl=(sl+m-l)%i;/*找到出列元素的卜-标*/w=SeqListPoint->data[s1];printf(n%d“,w);Delete_SeqList(SeqListPoint,s1);/*删除出列元素*/}cout«endl;retum(l);/*成功返回*/}voidmain(){intn,s,m;PSeqListSeqListPoint;coutvv”请输入总人数n:”;cin»n;SeqListPoint=Init_SeqList(n);cout«endl«n请输入报

8、数位置s和退出编号m:cin»s»m;SeqList(SeqListPoint,s,m);"D:MicrosoftVisualStudioMyProjects$5瑟夫作业Debug的瑟夫作业飯2・、约瑟夫问题链表的实现#include#include"stdlib.hHusingnamespacestd;structNode{intdata;structNode*next;};typedefstructNode*PNode;PNodeCreatelist_link(in

9、tn){PNodelist;PNodep,q;inti=l;list=p=(PNode)malloc(sizeof(structNode));〃申请表头结点存储空间if(list!=NULL)p->data=i;for(i=2;i<=n;i++){q=(PNode)malloc(sizeof(structNode));if(q==O)return0;p->ncxt=q;p=q;q->data=i;)q->next=list;1〃创建失败s,intm)elseprintf(HOutofspace!

10、°);return(list);}intjoscphus_LinkList(PNodclist,ir{PNodep,pre;intcount;if(!list){printf(n表中无元素”);return0;}p=list;for(count=l;countnext;printf(”输出约瑟夫序列:“);while(p!=p->next){for(count=1;countnext;}pr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。