C/C++,数据结构单链表实现约瑟夫环
来源:互联网 发布:无法备案的域名 编辑:程序博客网 时间:2024/05/21 14:01
约瑟夫环——围成一圈,定义一个数值K,从任意位置开始计数,每走K步删除当前位置结点,直到剩下最后一个结点,求最后一个结点
//单链表结构以及Find函数参见 2016-1-2 13:56 发表博客
SListNode* Joseph(SListNode *&pos, int K) //约瑟夫环{ assert(pos); if (K > 0) { SListNode *tmp = pos; while (1) { int count = K; while (--count) { tmp = tmp->next; } if (tmp->next == tmp) return tmp; SListNode *cur = tmp->next;//删除tmp位置的结点,思路:pos与下一位置结点元素值进行交换后,删除下一结点 DataType Tmpcount = cur->data; tmp->next = cur->next; cur->data = tmp->data; tmp->data = Tmpcount; free(cur); } } return NULL;}void Test7()// Joseph{ printf("//Test7() Joseph \n"); SListNode *LL = NULL; PushBack(LL, 1); PushBack(LL, 2); PushBack(LL, 3); PushBack(LL, 4); PushBack(LL, 5); PushBack(LL, 6); PushBack(LL, 7); Find(LL, 7)->next = Find(LL, 1); printf("%d\n", Joseph(LL, 3)->data);}
0 0
- C/C++,数据结构单链表实现约瑟夫环
- C 单链表 实现约瑟夫环
- 约瑟夫循环c语言实现 (<<数据结构与算法>>-王曙燕 约瑟夫环问题解答)
- C语言单链表实现约瑟夫环
- C语言实现单链表之约瑟夫环
- C++vector实现约瑟夫环
- C语言-实现约瑟夫环
- C语言实现约瑟夫环
- 约瑟夫环问题 数据结构 c语言
- 数据结构 C语言 约瑟夫问题
- 数据结构课设-约瑟夫换C语言实现
- 约瑟夫C语言实现
- Josephus(约瑟夫环问题)循环单链表c语句实现!
- 单链表实现约瑟夫环(JosephCircle)(C语言)
- 用循环单链表实现约瑟夫环(c语言)
- C语言-----链表实现约瑟夫环
- 【年少的风】C实现约瑟夫环
- 【年少的风】C实现约瑟夫环
- PCA学习
- 遗传算法与TSP问题的MATLAB实现
- <笔试><面试>单链表相关(1)从尾到头打印链表、删除一个无头链表的非尾结点
- 笔试面试单链表相关(2)在任意位置前插入结点、逆置链表
- 笔试面试,单链表相关(3)遍历一次找中间结点、倒数第K个结点
- C/C++,数据结构单链表实现约瑟夫环
- 笔试,面试,C/C++,数据结构单链表排序(改进冒泡排序)
- 笔试,面试,C/C++,判断单链表是否带环?若带环,求环长度,求环入口点(两种方法)
- <笔试><面试>C/C++单链表相关(4)判断两链表是否相交,求交点(链表不带环/可能带环)
- <笔试><面试>C/C++单链表(最综合)最全工程从建立到相关函数实现
- C++,笔试面试,使用C++编程,实现万年历
- C/C++,笔试面试,多种方法求100以内的所有素数
- 数据库范式例子说明
- 两数的最大公约数、最小公倍数