<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>中文Flex例子 &#187; Josephus</title>
	<atom:link href="http://blog.minidx.com/tag/josephus/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.minidx.com</link>
	<description>中文Adobe Flex例子,Flex实例教程,RIA资源,全文检索技术,算法和数据结构</description>
	<lastBuildDate>Thu, 31 Mar 2011 03:22:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>约瑟夫环问题(Josephus)的两种解法（源代码）</title>
		<link>http://blog.minidx.com/2008/01/28/448.html</link>
		<comments>http://blog.minidx.com/2008/01/28/448.html#comments</comments>
		<pubDate>Mon, 28 Jan 2008 00:08:03 +0000</pubDate>
		<dc:creator>Minidxer</dc:creator>
				<category><![CDATA[数据结构和算法]]></category>
		<category><![CDATA[Josephus]]></category>
		<category><![CDATA[源代码]]></category>
		<category><![CDATA[算法]]></category>
		<category><![CDATA[约瑟夫环]]></category>
		<category><![CDATA[解法]]></category>

		<guid isPermaLink="false">http://blog.minidx.com/2008/01/28/448.html</guid>
		<description><![CDATA[ 算法描述： 有编号从1到N的N个人坐成一圈报数，报到M的人出局，下一位再从1开始， 如此持续，直止剩下一位为止，报告此人的编号X。输入N,M，求出X。下面给出两种解法，前面的是比较常规的解法，比较适合“名门正派”，而后面一种则非常巧妙……








注意点：由于当某个人退出圆圈后，报数的工作要从下一个人开始继续，剩下的人仍然是围成一个圆圈的，可以使用循环表，由于退出圆圈的工作对应着表中结点的删除操作，对于这种删除操作频繁的情况，选用效率较高的链表结构，为了程序指针每一次都指向一个具体的代表一个人的结点而不需要判断，链表不带头结点。所以，对于所有人围成的圆圈所对应的数据结构采用一个不带头结点的循环链表来描述。设头指针为p，并根据具体情况移动。为了记录退出的人的先后顺序，采用一个顺序表进行存储。程序结束后再输出依次退出的人的编号顺序。由于只记录各个结点的number值就可以，所以定义一个整型一维数组。如：int&#160; quit[n];n为一个根据实际问题定义的一个足够大的整数。
●一般解法：
#include &#60;stdio.h&#62;
#include &#60;stdlib.h&#62;
#include &#60;string.h&#62;
#include &#60;malloc.h&#62;

/* 结构体和函数声明 */
typedef struct _node_t
{
    int             n_num;
    struct _node_t *next;
} node_t;

node_t         *node_t_create(int n);
node_t         [...]]]></description>
		<wfw:commentRss>http://blog.minidx.com/2008/01/28/448.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)
Database Caching 2/13 queries in 0.005 seconds using disk
Object Caching 152/320 objects using disk

Served from: blog.minidx.com @ 2012-02-09 19:05:55 -->
