📄 2_1 栈 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.htm
字号:
<P style="LINE-HEIGHT: 14pt">{</P>
<P style="LINE-HEIGHT: 14pt">MSTACK *pMStack = (MSTACK
*)malloc(sizeof(MSTACK));</P>
<P style="LINE-HEIGHT: 14pt">if ( pMStack != NULL )</P>
<P style="LINE-HEIGHT: 14pt">{</P>
<P style="LINE-HEIGHT: 14pt">pMStack->pStack = Stack_Create(uStackSize);</P>
<P style="LINE-HEIGHT: 14pt">if ( pMStack->pStack != NULL )</P>
<P style="LINE-HEIGHT: 14pt">{</P>
<P style="LINE-HEIGHT: 14pt">/* 创建锁 */</P>
<P style="LINE-HEIGHT: 14pt">pMStack->pLock = LockCreate();</P>
<P style="LINE-HEIGHT: 14pt">if ( pMStack->pLock != NULL )</P>
<P style="LINE-HEIGHT: 14pt">{</P>
<P style="LINE-HEIGHT: 14pt">return pMStack;</P>
<P style="LINE-HEIGHT: 14pt">}</P>
<P style="LINE-HEIGHT: 14pt">free(pMStack->pStack);</P>
<P style="LINE-HEIGHT: 14pt">}</P>
<P style="LINE-HEIGHT: 14pt">free(pMStack);</P>
<P style="LINE-HEIGHT: 14pt">}</P>
<P style="LINE-HEIGHT: 14pt">return NULL;</P>
<P style="LINE-HEIGHT: 14pt">}</P>
<P style="LINE-HEIGHT: 14pt">/** 多任务栈的释放函数</P>
<P style="LINE-HEIGHT: 14pt">@param MSTACK *pMStack——栈指针 </P>
<P style="LINE-HEIGHT: 14pt">@param DESTROYFUNC DestroyFunc——数据释放回调函数 </P>
<P style="LINE-HEIGHT: 14pt">@return void——无 </P>
<P style="LINE-HEIGHT: 14pt">*/</P>
<P style="LINE-HEIGHT: 14pt"><B>void MStack_Destroy(MSTACK
*pMStack</B><B>,</B><B>DESTROYFUNC DestroyFunc)</B></P>
<P style="LINE-HEIGHT: 14pt">{</P>
<P style="LINE-HEIGHT: 14pt">if ( pMStack != NULL )</P>
<P style="LINE-HEIGHT: 14pt">{</P>
<P style="LINE-HEIGHT: 14pt">Lock(pMStack->pLock);</P>
<P style="LINE-HEIGHT: 14pt">Stack_Destroy(pMStack->pStack,DestroyFunc);</P>
<P style="LINE-HEIGHT: 14pt">LockClose(pMStack->pLock);</P>
<P style="LINE-HEIGHT: 14pt">free(pMStack);</P>
<P style="LINE-HEIGHT: 14pt">}</P>
<P style="LINE-HEIGHT: 14pt">}</P>
<P style="LINE-HEIGHT: 14pt">/** 多任务栈的弹出操作函数</P>
<P style="LINE-HEIGHT: 14pt">@param MSTACK *pMStack——栈指针 </P>
<P style="LINE-HEIGHT: 14pt">@return void *——弹出的数据指针 </P>
<P style="LINE-HEIGHT: 14pt">*/</P>
<P style="LINE-HEIGHT: 14pt"><B>void *MStack_Pop( MSTACK *pMStack )</B></P>
<P style="LINE-HEIGHT: 14pt">{</P>
<P style="LINE-HEIGHT: 14pt">void *pData;</P>
<P style="LINE-HEIGHT: 14pt">Lock(pMStack->pLock);</P>
<P style="LINE-HEIGHT: 14pt">pData = Stack_Pop(pMStack->pStack);</P>
<P style="LINE-HEIGHT: 14pt">Unlock(pMStack->pLock);</P>
<P style="LINE-HEIGHT: 14pt">return pData;</P>
<P style="LINE-HEIGHT: 14pt">}</P>
<P style="LINE-HEIGHT: 14pt">/** 栈的压入操作函数</P>
<P style="LINE-HEIGHT: 14pt">@param MSTACK *pMStack——栈指针 </P>
<P style="LINE-HEIGHT: 14pt">@param void *pData——数据指针 </P>
<P style="LINE-HEIGHT: 14pt">@return INT——返回CAPI_SUCCESS表示成功;返回CAPI_FAILED表示失败
</P>
<P style="LINE-HEIGHT: 14pt">*/</P>
<P style="LINE-HEIGHT: 14pt"><B>INT MStack_Push( MSTACK
*pMStack</B><B>,</B><B>void *pData )</B></P>
<P style="LINE-HEIGHT: 14pt">{</P>
<P style="LINE-HEIGHT: 14pt">INT nRet;</P>
<P style="LINE-HEIGHT: 14pt">Lock(pMStack->pLock);</P>
<P style="LINE-HEIGHT: 14pt">nRet = Stack_Push(pMStack->pStack,pData);</P>
<P style="LINE-HEIGHT: 14pt">Unlock(pMStack->pLock);</P>
<P style="LINE-HEIGHT: 14pt">return nRet;</P>
<P style="LINE-HEIGHT: 14pt">}</P>
<P style="LINE-HEIGHT: 14.5pt">/** 判断栈是否为空</P>
<P style="LINE-HEIGHT: 14.5pt">@param MSTACK *pMStack——栈指针 </P>
<P style="LINE-HEIGHT: 14.5pt">@return INT——0表示为空;1表示非空 </P>
<P style="LINE-HEIGHT: 14.5pt">*/</P>
<P style="LINE-HEIGHT: 14.5pt"><B>INT MStack_IsEmpty( MSTACK *pMStack )</B></P>
<P style="LINE-HEIGHT: 14.5pt">{</P>
<P style="LINE-HEIGHT: 14.5pt">INT nRet;</P>
<P style="LINE-HEIGHT: 14.5pt">Lock(pMStack->pLock);</P>
<P style="LINE-HEIGHT: 14.5pt">nRet = Stack_IsEmpty(pMStack->pStack);</P>
<P style="LINE-HEIGHT: 14.5pt">Unlock(pMStack->pLock);</P>
<P style="LINE-HEIGHT: 14.5pt">return nRet;</P>
<P style="LINE-HEIGHT: 14.5pt">}</P></DIV><!-- page -->
<DIV class=page style="TEXT-ALIGN: center"><A
href="http://book.csdn.net/bookfiles/65/100651876.shtml">上一页</A> <A
href="http://book.csdn.net/bookfiles/65/index.html">首页</A> <A
href="http://book.csdn.net/bookfiles/65/100651878.shtml">下一页</A> </DIV>
<DIV
style="BORDER-RIGHT: #0b5f98 1px solid; BORDER-TOP: #0b5f98 1px solid; MARGIN: 0px auto; BORDER-LEFT: #0b5f98 1px solid; WIDTH: 700px; BORDER-BOTTOM: #0b5f98 1px solid">
<DIV
style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FLOAT: left; PADDING-BOTTOM: 1px; WIDTH: 16px; COLOR: white; PADDING-TOP: 1px; BACKGROUND-COLOR: #0b5f98">图书导读
</DIV>
<DIV
style="PADDING-LEFT: 2px; FLOAT: right; WIDTH: 670px; LINE-HEIGHT: 16pt; TEXT-ALIGN: left"><!--导读-->
<H1 id=divCurrentNode2
style="PADDING-LEFT: 2px; FONT-SIZE: 12px; WIDTH: 100%; COLOR: #b83507; TEXT-ALIGN: left">当前章节:<A
href="http://book.csdn.net/bookfiles/65/100651877.shtml"><FONT color=red>2.1 栈
</FONT></A></H1>
<DIV id=divRealteNod2 style="PADDING-LEFT: 2px">
<DIV style="FLOAT: left; WIDTH: 49%">·<A
href="http://book.csdn.net/bookfiles/65/100651874.shtml">1.3 任意数据类型处理</A></DIV>
<DIV style="FLOAT: right; WIDTH: 49%">·<A
href="http://book.csdn.net/bookfiles/65/100651875.shtml">1.4 多任务介绍 </A></DIV>
<DIV style="FLOAT: left; WIDTH: 49%">·<A
href="http://book.csdn.net/bookfiles/65/100651876.shtml">1.5 软件设计简介</A></DIV>
<DIV style="FLOAT: right; WIDTH: 49%">·<A
href="http://book.csdn.net/bookfiles/65/100651878.shtml">2.2 队列 </A></DIV>
<DIV style="FLOAT: left; WIDTH: 49%">·<A
href="http://book.csdn.net/bookfiles/65/100651879.shtml">2.3 排序表 </A></DIV>
<DIV style="FLOAT: right; WIDTH: 49%">·<A
href="http://book.csdn.net/bookfiles/65/100651880.shtml">2.4 实例:HOOK管理功能的实现
</A></DIV></DIV></DIV></DIV>
<DIV class=clear> </DIV></DIV>
<DIV class=todayCommend style="WIDTH: 100%">
<DIV class=title>
<H5>同类图书推荐</H5></DIV>
<DIV class="blank6 clear"></DIV>
<DIV class=content id=divSameSort>
<LI style="FLOAT: left; WIDTH: 20%"><A title="数据挖掘原理与应用—— SQL Server 2005数据库"
href="http://book.csdn.net/bookfiles/242/"><IMG height=112
src="2_1 栈 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/TS00124727__.jpg"
width=80 border=0></A>
<P><A title="数据挖掘原理与应用—— SQL Server 2005数据库"
href="http://book.csdn.net/bookfiles/242/">数据挖掘原理与应用—...</A></P></LI>
<LI style="FLOAT: left; WIDTH: 20%"><A title="Oracle PL/SQL 专家指南"
href="http://book.csdn.net/bookfiles/241/"><IMG height=112
src="2_1 栈 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/TS00124725__.jpg"
width=80 border=0></A>
<P><A title="Oracle PL/SQL 专家指南"
href="http://book.csdn.net/bookfiles/241/">Oracle PL/SQL 专家指...</A></P></LI>
<LI style="FLOAT: left; WIDTH: 20%"><A title="Microsoft SQL Server2005开发指南"
href="http://book.csdn.net/bookfiles/240/"><IMG height=112
src="2_1 栈 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/TS00124697__.jpg"
width=80 border=0></A>
<P><A title="Microsoft SQL Server2005开发指南"
href="http://book.csdn.net/bookfiles/240/">Microsoft SQL Server...</A></P></LI>
<LI style="FLOAT: left; WIDTH: 20%"><A title=精通SQL——结构化查询语言详解
href="http://book.csdn.net/bookfiles/235/"><IMG height=112
src="2_1 栈 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/TS00124582__.jpg"
width=80 border=0></A>
<P><A title=精通SQL——结构化查询语言详解
href="http://book.csdn.net/bookfiles/235/">精通SQL——结构化查询...</A></P></LI>
<LI style="FLOAT: left; WIDTH: 20%"><A title="Oracle 10g DBA宝典"
href="http://book.csdn.net/bookfiles/188/"><IMG height=112
src="2_1 栈 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/TS00123307__.jpg"
width=80 border=0></A>
<P><A title="Oracle 10g DBA宝典" href="http://book.csdn.net/bookfiles/188/">Oracle
10g DBA宝典</A></P></LI></DIV></DIV><!-- 评论 -->
<DIV class=clear></DIV>
<DIV class=todayCommend style="WIDTH: 100%">
<DIV class=title>
<H5>网友热评</H5></DIV>
<DIV class="blank6 clear"></DIV>
<DIV class=content style="OVERFLOW: scroll; WIDTH: 99%; TEXT-ALIGN: left">
<SCRIPT
src="2_1 栈 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/NewsCsdnNetJsReferences.htm"
type=text/javascript></SCRIPT>
</DIV></DIV><!-- 今日推荐 -->
<DIV class=clear></DIV>
<DIV id=tagad style="TEXT-ALIGN: left">
<DIV id=csdn_zhaig_ad_yahoo style="WIDTH: 99%"></DIV>
<SCRIPT type=text/javascript>
ad_width=468;
ad_height=60;
adcss=2;
unionuser=22;
ad_type='j';
count=3;
</SCRIPT>
<SCRIPT src="2_1 栈 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/showads.js"
type=text/javascript></SCRIPT>
<SCRIPT src="2_1 栈 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/tag.js"
type=text/javascript></SCRIPT>
</DIV></DIV><!-- 页脚 -->
<DIV id=foot><IMG height=0 alt=""
src="2_1 栈 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/readbook.htm" width=0>
</DIV>
<STYLE>#CFBig {
CLEAR: both; FONT-SIZE: 12px; MARGIN: auto; WIDTH: 770px; FONT-FAMILY: Tahoma, sans-serif; TEXT-ALIGN: center
}
#CFBig #CFContent {
MARGIN: auto; WIDTH: 500px; TEXT-ALIGN: center
}
#CFBig #CFContent P {
MARGIN: 2px
}
#CFBig HR {
COLOR: #4682b4; HEIGHT: 1px
}
#CFBig #CFBiaoShi {
FLOAT: right; WIDTH: 40px
}
#CFBig A:link {
COLOR: #000; TEXT-DECORATION: none
}
#CFBig A:visited {
COLOR: #000; TEXT-DECORATION: none
}
#CFBig A:hover {
COLOR: #369; TEXT-DECORATION: none
}
#CFBig A:active {
COLOR: #000; TEXT-DECORATION: none
}
</STYLE>
<!-- 页脚 -->
<DIV style="TEXT-ALIGN: center">
<DIV id=CFBig>
<HR>
<DIV id=CFContent>
<DIV id=CFBiaoShi><A
href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010"><IMG
height=48 alt=""
src="2_1 栈 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/BiaoShi.gif" width=40
border=0></A> </DIV>
<P><A href="http://www.csdn.net/intro/intro.asp?id=2">网站简介</A>-<A
href="http://www.csdn.net/intro/intro.asp?id=5">广告服务</A>-<A
href="http://www.csdn.net/map/map.shtm">网站地图</A>-<A
href="http://www.csdn.net/help/help.asp">帮助</A>-<A
href="http://www.csdn.net/intro/intro.asp?id=9">联系方式</A>-<A
href="http://job.csdn.net/Jobs/f9c75c9f2ad14404a604669b757b9ed0/viewcompany.aspx">诚聘英才</A>-<A
href="http://www.csdn.net/english/">English</A>-<A
href="javascript:navigate('mai'%20+%20'lto:'%20+%20'webm'%20+%20'aster@c'%20+%20'sdn.n'+'et?subject=向CSDN报告问题')">问题报告</A></P>
<P>北京百联美达美数码科技有限公司 版权所有 京 ICP 证 020026 号</P>
<P>Copyright © 2000-2006, CSDN.NET, All Rights Reserved</P></DIV>
<HR>
</DIV></DIV>
<SCRIPT type=text/javascript>document.write("<img src=http://counter.csdn.net/pv.aspx?id=115 border=0 width=0 height=0>");</SCRIPT>
<SCRIPT language=JavaScript
src="2_1 栈 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/counter.js"></SCRIPT>
<!-- /页脚 --></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -