约瑟夫环问题_约瑟夫环问题 数据结构_约瑟夫环问题 数学(2)

电脑杂谈  发布时间:2017-02-13 09:26:19  来源:网络整理

/* 内存空间申请成功 */

p_ret = p_node;

for (; n_idx < n; n_idx++)

{

p_node->n_num = n_idx;

p_node->next = p_node + 1;

p_node = p_node->next;

}

p_node->n_num = n;

p_node->next = p_ret;

}

return p_ret;

}

/*

* name: main

* params:

约瑟夫环问题_约瑟夫环问题 数学_约瑟夫环问题 数据结构

* none

* return:

* int

* notes:

* main function

*

* author: A.TNG 2006/06/14 18:11

*/

int main()

{

int n, m;

node_t *p_list, *p_iter;

n = 20; m = 6;

/* 构造环形单向链表 */

p_list = node_t_create(n);

/* Josephus 循环取数 */

p_iter = p_list;

m %= n;

while (p_iter != p_iter->next)

{

int i = 1;

/* 取到第 m-1 个节点 */

for (; i < m - 1; i++)

{

p_iter = p_iter->next;

}

/* 输出第 m 个节点的值 */

printf("%d", p_iter->next->n_num);

/* 从链表中删除第 m 个节点 */

p_iter->next = p_iter->next->next;

p_iter = p_iter->next;

}

printf("%d", p_iter->n_num);

/* 释放申请的空间 */

free(p_list);


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-32152-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...