单链表实现约瑟夫环(JosephCircle)(C语言)
来源:互联网 发布:淘宝经营类目的优势 编辑:程序博客网 时间:2024/06/05 18:53
//使链表形成一个环void FormCyc(PSListNode *pHead){ if (NULL == pHead) { return; } else { PSListNode pNode = *pHead; while (NULL != (pNode->pNextNode)) { pNode = pNode->pNextNode; } pNode->pNextNode = *pHead; }}PSListNode JosephCircle(PSListNode pHead, int M){ if ((NULL == pHead) || (M <= 0)) { return NULL; } else { //让链表中所有元素形成一个环 FormCyc(&pHead); PSListNode pPreNode = NULL; PSListNode pCurNode = pHead; PSListNode pDesNode = NULL; int temp = M; while (pCurNode->pNextNode != pCurNode) { temp = M; pPreNode = pCurNode; while (--temp) { pPreNode = pCurNode; pCurNode = pCurNode->pNextNode; } //记住要从链表中删除的节点的位置,把它的空间释放了 pDesNode = pCurNode; pCurNode = pCurNode->pNextNode; pPreNode->pNextNode = pCurNode; free(pDesNode); pDesNode = NULL; } //如果M=1,就说明所有结点都要被删除,那么就返回空,否则就返回剩下的那个结点的指针 if (1 == M) { free(pCurNode); pCurNode = NULL; } else { pCurNode->pNextNode = NULL; } return pCurNode; }}
0 0
- 单链表实现约瑟夫环(JosephCircle)(C语言)
- 单链表实现约瑟夫环(JosephCircle)
- C语言单链表实现约瑟夫环
- C语言实现单链表之约瑟夫环
- 用循环单链表实现约瑟夫环(c语言)
- C语言-实现约瑟夫环
- C语言实现约瑟夫环
- 约瑟夫C语言实现
- 约瑟夫环问题(c语言数组实现)
- C语言-----链表实现约瑟夫环
- c语言:约瑟夫环的实现
- C语言实现约瑟夫环问题
- 约瑟夫循环c语言实现 (<<数据结构与算法>>-王曙燕 约瑟夫环问题解答)
- C 单链表 实现约瑟夫环
- 自杀环---约瑟夫环(单链表经典面试题)------>C语言实现
- 约瑟夫环(求助C语言高手)
- 约瑟夫环(c语言程序完整版)
- (C语言)约瑟夫环问题
- 欢迎使用CSDN-markdown编辑器---临时测试
- Error:Android Packager: [应用名] java.io.FileNotFoundException: G:\xxx\应用名.unaligned.apk (拒绝访问。)
- 一些球形包围盒,AABB包围盒,OBB包围盒的文章
- sort函数
- 网站会员整合ucenter 实现多站点同步登录方法
- 单链表实现约瑟夫环(JosephCircle)(C语言)
- Topcoder SRM 413 (Div 2) 1000.InfiniteSequence
- Swift-画虚线、虚线圆
- xshell入门使用教程
- android 高仿UC浏览器首页上拉面板效果
- eclipse 打jar包并混淆
- 小易的升级之路(16年网易校招)
- List<String>转换为Set<String>.
- VPN column: PPTP(1)--connecting process