文本内容:
typedef struct LNode{〃约瑟夫环的类型定义int no;〃代表编号结点的数据int code;〃代表密码结点的数据structLNode*next;}LNode,*LinkList;void JosephCircleLinkListJC{〃求解n个人组成的约瑟夫环问题scanffm,n;〃初始m的初始值和人数JC=pre=LinkListmallocsizeofLNode;JC-no=1;scanfJC-code;〃输入第一个人的密码fori=2;i=n;i++{〃建立循环单链表p=LinkListmallocsizeofLNode;p-no=i;scanfp-code;pre-next=p;pre=p;}pre-next=JC;P=JC;〃从第一个人开始报数whilep-next!=p{;j=lwhilep-next!=pjm{j++;p=p-next;}printfp-no;〃输出出圈人的编号m=p-code;〃取出出圈人所持密码p-no=p-next-no;p-code=p-next-code;s=p-next;p-next=s-next;frees;}printfp-no;〃输出最后一个出圈人的编号}//JosephCircle。
个人认证
优秀文档
获得点赞 0