C语言单向循环链表实现实现约瑟夫环
《C语言单向循环链表实现实现约瑟夫环》由会员分享,可在线阅读,更多相关《C语言单向循环链表实现实现约瑟夫环(4页珍藏版)》请在装配图网上搜索。
C 语言实现 约瑟夫环问题 单 向循环链表实现 问题描述 有 n 个人围成一圈进行报数游 戏 从第一个人开始报到 m 的人出圈 接下来有从下一个人开始 一 次这样往复 直到最后一个人也出圈 求他们的出圈顺序 例如 8 个人 凡 报 3 的人出圈 则他们出圈顺序是 3 6 1 5 2 8 4 7 include include typedef struct node int value struct node next NODE 建立循环链表 尾插法建立 NODE createlink int number NODE head NULL p NULL q NULL int i 1 head struct node malloc sizeof struct node 建立第 一个节点 head value i p head for i 2 inext q p q p value i p next head return head 建立约瑟夫环 void jose NODE p int number int n int i j g 0 NODE q NULL for i 1 i number i for j 1 jnext q p next q 用来记录要删除的节点 p next q next 删去 q 节点 p p next printf 第 3d 个出圈号是 3d n i q value free q printf n p next NULL 此表达式不能出现在此处 最后一个节点删除 后就不存在了 主函数 int main int number 0 int n 0 printf 请输入总人数 number 和出拳编号 n n scanf d scanf d NODE head NULL head createlink number jose head number n system PAUSE return 1- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 单向 循环 实现 约瑟夫
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文