<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post/4986/</link>
<title><![CDATA[链式队列：用C语言实现简单链式队列结构]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Wed, 15 Feb 2012 09:11:26 +0000</pubDate> 
<guid>http://jackxiang.com/post/4986/</guid> 
<description>
<![CDATA[ 
	最近在看C指针编程之道，于是否涉及到队列，简单介绍了下，是以指针为原型的，在网上找了一篇文章，发现其写法和书上差不多，做下备案，代码如下,有时间用gdb跟踪学习一下：<br/><br/><br/><textarea name="code" class="C" rows="15" cols="100">

/*
 *用链式结构实现的队列称为链队。根据队列的FIFO原则，为了操作上的方便，可以用带头指针font和尾指针rear的单链表来实现队列。链队结构描述：
 *typedef struct node
 *&#123;
 *&nbsp;&nbsp;&nbsp;&nbsp;valuetype data;
 *&nbsp;&nbsp;&nbsp;&nbsp;struct node *next;
 *&#125;QNode;&nbsp;&nbsp; [&gt;链队结点的类型&lt;]
 *typedef struct
 *&#123;
 *&nbsp;&nbsp;&nbsp;&nbsp;QNode *font, *rear;
 *&#125;LQueue;&nbsp;&nbsp;&nbsp;&nbsp;[&gt;将头尾指针封装在一起的链队&lt;]
 *
 *设q是一个指向链队的指针，即LQueue *q. 各函数的功能如下：
 *（1）LQueue * Init_LQueue(): 创建并返回一个带头尾结点的空链队
 *（2）int Empty_LQueue(LQueue *q): 判断链队是否为空
 *（3）void In_LQueue(LQueue *q, valuetype x) : 将数据x压入链队q
 *（4）int Out_LQueue(LQueue *q, valuetype *x) : 弹出链队q的第一个元素x, 若成功则返回1否则返回0
 * By Guv 2011.06.10
 */

/*程序代码：*/

#include &lt;stdio.h&gt;
#include &lt;malloc.h&gt;

typedef int valuetype;

typedef struct node
&#123;
&nbsp;&nbsp;&nbsp;&nbsp;valuetype data;
&nbsp;&nbsp;&nbsp;&nbsp;struct node *next;
&#125;QNode;&nbsp;&nbsp; 
typedef struct
&#123;
&nbsp;&nbsp;&nbsp;&nbsp;QNode *font, *rear;
&#125;LQueue;

LQueue * Init_LQueue()
&#123;
&nbsp;&nbsp;&nbsp;&nbsp;LQueue *q;
&nbsp;&nbsp;&nbsp;&nbsp;QNode *p;
&nbsp;&nbsp;&nbsp;&nbsp;q = (LQueue*)malloc(sizeof(LQueue));&nbsp;&nbsp;&nbsp;&nbsp;/*申请链队指针*/
&nbsp;&nbsp;&nbsp;&nbsp;p = (QNode*)malloc(sizeof(QNode));&nbsp;&nbsp;/*申请头尾指针结点*/
&nbsp;&nbsp;&nbsp;&nbsp;p-&gt;next = NULL;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;q-&gt;font = q-&gt;rear = p;
&nbsp;&nbsp;&nbsp;&nbsp;return q;
&#125;

int Empty_LQueue(LQueue *q)
&#123;
&nbsp;&nbsp;&nbsp;&nbsp;if(q-&gt;font != q-&gt;rear)&nbsp;&nbsp;return 0;
&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;&nbsp;&nbsp;return 1;
&#125;

void In_LQueue(LQueue *q, valuetype x)
&#123;
&nbsp;&nbsp;&nbsp;&nbsp;QNode *p = (QNode *)malloc(sizeof(QNode));&nbsp;&nbsp;/*申请新结点*/
&nbsp;&nbsp;&nbsp;&nbsp;p-&gt;data = x;
&nbsp;&nbsp;&nbsp;&nbsp;p-&gt;next = NULL;
&nbsp;&nbsp;&nbsp;&nbsp;q-&gt;rear-&gt;next = p;
&nbsp;&nbsp;&nbsp;&nbsp;q-&gt;rear = p;
&#125;

int Out_LQueue(LQueue *q, valuetype *x)
&#123;
&nbsp;&nbsp;&nbsp;&nbsp;if(Empty_LQueue(q)) return 0;&nbsp;&nbsp; /*空链队*/
&nbsp;&nbsp;&nbsp;&nbsp;else&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;QNode *p = q-&gt;font-&gt;next;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*x = p-&gt;data;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q-&gt;font-&gt;next = p-&gt;next;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free(p);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (q-&gt;font-&gt;next == NULL)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q-&gt;rear = q-&gt;font;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 1;
&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&#125;

int main()
&#123;
&nbsp;&nbsp;&nbsp;&nbsp;LQueue *queue = Init_LQueue();
&nbsp;&nbsp;&nbsp;&nbsp;int i;
&nbsp;&nbsp;&nbsp;&nbsp;for (i=0;i&lt;10;++i)
&nbsp;&nbsp;&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In_LQueue(queue, i);
&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;while(!Empty_LQueue(queue))
&nbsp;&nbsp;&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int k=0;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Out_LQueue(queue, &amp;k);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%d &quot;,k);
&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;&#92;n&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;return 0;
&#125;


</textarea><br/><br/>来自:http://hi.baidu.com/linccn/blog/item/4b0156348f82500990ef39b9.html
]]>
</description>
</item><item>
<link>http://jackxiang.com/post/4986/#blogcomment63434</link>
<title><![CDATA[[评论] 链式队列：用C语言实现简单链式队列结构]]></title> 
<author>hxngb8ff &lt;wxwi76@mail114.net&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 15 Feb 2012 17:28:51 +0000</pubDate> 
<guid>http://jackxiang.com/post/4986/#blogcomment63434</guid> 
<description>
<![CDATA[ 
	谢谢楼主，好久没看到这么好的贴了
]]>
</description>
</item><item>
<link>http://jackxiang.com/post/4986/#blogcomment63439</link>
<title><![CDATA[[评论] 链式队列：用C语言实现简单链式队列结构]]></title> 
<author>顶天立地 &lt;wowowoyeye@126.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 16 Feb 2012 16:27:10 +0000</pubDate> 
<guid>http://jackxiang.com/post/4986/#blogcomment63439</guid> 
<description>
<![CDATA[ 
	不顶联合国要来调查。.................................。
]]>
</description>
</item><item>
<link>http://jackxiang.com/post/4986/#blogcomment63477</link>
<title><![CDATA[[评论] 链式队列：用C语言实现简单链式队列结构]]></title> 
<author>hxngb8rf &lt;qxme10@mail114.net&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sun, 19 Feb 2012 03:16:21 +0000</pubDate> 
<guid>http://jackxiang.com/post/4986/#blogcomment63477</guid> 
<description>
<![CDATA[ 
	支持楼主，长见识了
]]>
</description>
</item><item>
<link>http://jackxiang.com/post/4986/#blogcomment63488</link>
<title><![CDATA[[评论] 链式队列：用C语言实现简单链式队列结构]]></title> 
<author>jgixf8676 &lt;daxingxing1991@126.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sun, 19 Feb 2012 04:28:13 +0000</pubDate> 
<guid>http://jackxiang.com/post/4986/#blogcomment63488</guid> 
<description>
<![CDATA[ 
	楼主，你要继续努力啊！你是社区的希望啊！
]]>
</description>
</item><item>
<link>http://jackxiang.com/post/4986/#blogcomment63564</link>
<title><![CDATA[[评论] 链式队列：用C语言实现简单链式队列结构]]></title> 
<author>hxngb7ef &lt;ecbr64@mail114.net&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 21 Feb 2012 18:06:19 +0000</pubDate> 
<guid>http://jackxiang.com/post/4986/#blogcomment63564</guid> 
<description>
<![CDATA[ 
	支持楼主，长见识了
]]>
</description>
</item><item>
<link>http://jackxiang.com/post/4986/#blogcomment63580</link>
<title><![CDATA[[评论] 链式队列：用C语言实现简单链式队列结构]]></title> 
<author>jgmyw8237 &lt;huangxx4321@126.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 22 Feb 2012 06:32:08 +0000</pubDate> 
<guid>http://jackxiang.com/post/4986/#blogcomment63580</guid> 
<description>
<![CDATA[ 
	让版主看后决定加精固顶的好帖
]]>
</description>
</item><item>
<link>http://jackxiang.com/post/4986/#blogcomment63675</link>
<title><![CDATA[[评论] 链式队列：用C语言实现简单链式队列结构]]></title> 
<author>jgbju8375 &lt;womengjianle@126.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Fri, 24 Feb 2012 22:56:36 +0000</pubDate> 
<guid>http://jackxiang.com/post/4986/#blogcomment63675</guid> 
<description>
<![CDATA[ 
	楼主，你要继续努力啊！你是社区的希望啊！
]]>
</description>
</item><item>
<link>http://jackxiang.com/post/4986/#blogcomment63696</link>
<title><![CDATA[[评论] 链式队列：用C语言实现简单链式队列结构]]></title> 
<author>虫虫响叮当 &lt;cclee001@126.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Fri, 06 Apr 2012 17:59:24 +0000</pubDate> 
<guid>http://jackxiang.com/post/4986/#blogcomment63696</guid> 
<description>
<![CDATA[ 
	路过走过顶一顶,看过飘过瞄一瞄！路过走过顶一顶,看过飘过瞄一瞄！
]]>
</description>
</item>
</channel>
</rss>