http://kktzf.com.cn/wiki/history/%E5%A0%86%E6%A0%88?feed=atom 狠狠久久亚洲欧美专区,久99久无码精品视频免费播放,精品综合久久久久久97超人 2025-07-20T19:29:54Z 本wiki上該頁面的版本歷史 MediaWiki 1.39.3 http://kktzf.com.cn/wiki/%E5%A0%86%E6%A0%88?diff=110367&oldid=prev 2012年6月5日 (二) 09:58 尋找 2012-06-05T09:58:20Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="zh-Hans-CN"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">←上一版本</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">2012年6月5日 (二) 17:58的版本</td> </tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l3">第3行:</td> <td colspan="2" class="diff-lineno">第3行:</td></tr> <tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>*推入(push):將數(shù)據放入堆棧的頂端(陣列形式或串行形式),堆棧頂端top指標加一。 ?</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>*推入(push):將數(shù)據放入堆棧的頂端(陣列形式或串行形式),堆棧頂端top指標加一。 ?</div></td></tr> <tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>*彈出(pop):將頂端數(shù)據資料輸出(回傳),堆棧頂端資料減一。</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>*彈出(pop):將頂端數(shù)據資料輸出(回傳),堆棧頂端資料減一。</div></td></tr> <tr><td class="diff-marker" data-marker="?"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>==<del style="font-weight: bold; text-decoration: none;">簡介</del>==</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>==<ins style="font-weight: bold; text-decoration: none;">堆棧簡介</ins>==</div></td></tr> <tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[動態(tài)數(shù)據]]區(qū)一般就是“堆棧”。“棧(stack)”和“堆(heap)”是兩種不同的動態(tài)數(shù)據區(qū),棧是一種線性結構,堆是一種鏈式結構。進程的每個線程都有私有的“?!保悦總€線程雖然[[代碼]]一樣,但本地變量的數(shù)據都是互不干擾。一個堆??梢酝ㄟ^“基地址”和“棧頂”地址來描述。全局變量和靜態(tài)變量分配在靜態(tài)數(shù)據區(qū),本地變量分配在動態(tài)數(shù)據區(qū),即堆棧中。[[程序]]通過堆棧的基地址和偏移量來訪問本地變量。</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[動態(tài)數(shù)據]]區(qū)一般就是“堆?!薄!皸?stack)”和“堆(heap)”是兩種不同的動態(tài)數(shù)據區(qū),棧是一種線性結構,堆是一種鏈式結構。進程的每個線程都有私有的“?!保悦總€線程雖然[[代碼]]一樣,但本地變量的數(shù)據都是互不干擾。一個堆??梢酝ㄟ^“基地址”和“棧頂”地址來描述。全局變量和靜態(tài)變量分配在靜態(tài)數(shù)據區(qū),本地變量分配在動態(tài)數(shù)據區(qū),即堆棧中。[[程序]]通過堆棧的基地址和偏移量來訪問本地變量。</div></td></tr> <tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==堆棧原理==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==堆棧原理==</div></td></tr> <tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l119">第119行:</td> <td colspan="2" class="diff-lineno">第119行:</td></tr> <tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>*http://baike.baidu.com/view/93201.htm</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>*http://baike.baidu.com/view/93201.htm</div></td></tr> <tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[category:數(shù)據結構|D]]</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[category:數(shù)據結構|D]]</div></td></tr> <tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[category:計算機術語|D]]</ins></div></td></tr> <!-- diff cache key wiki-zz_:diff::1.12:old-109258:rev-110367 --> </table> 尋找 http://kktzf.com.cn/wiki/%E5%A0%86%E6%A0%88?diff=109258&oldid=prev 2012年5月5日 (六) 03:15 尋找 2012-05-05T03:15:37Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="zh-Hans-CN"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">←上一版本</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">2012年5月5日 (六) 11:15的版本</td> </tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l6">第6行:</td> <td colspan="2" class="diff-lineno">第6行:</td></tr> <tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[動態(tài)數(shù)據]]區(qū)一般就是“堆棧”?!皸?stack)”和“堆(heap)”是兩種不同的動態(tài)數(shù)據區(qū),棧是一種線性結構,堆是一種鏈式結構。進程的每個線程都有私有的“?!?,所以每個線程雖然[[代碼]]一樣,但本地變量的數(shù)據都是互不干擾。一個堆??梢酝ㄟ^“基地址”和“棧頂”地址來描述。全局變量和靜態(tài)變量分配在靜態(tài)數(shù)據區(qū),本地變量分配在動態(tài)數(shù)據區(qū),即堆棧中。[[程序]]通過堆棧的基地址和偏移量來訪問本地變量。</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[動態(tài)數(shù)據]]區(qū)一般就是“堆?!?。“棧(stack)”和“堆(heap)”是兩種不同的動態(tài)數(shù)據區(qū),棧是一種線性結構,堆是一種鏈式結構。進程的每個線程都有私有的“棧”,所以每個線程雖然[[代碼]]一樣,但本地變量的數(shù)據都是互不干擾。一個堆棧可以通過“基地址”和“棧頂”地址來描述。全局變量和靜態(tài)變量分配在靜態(tài)數(shù)據區(qū),本地變量分配在動態(tài)數(shù)據區(qū),即堆棧中。[[程序]]通過堆棧的基地址和偏移量來訪問本地變量。</div></td></tr> <tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==堆棧原理==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==堆棧原理==</div></td></tr> <tr><td class="diff-marker" data-marker="?"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">堆棧是一種執(zhí)行“后進先出”算法的</del>[[數(shù)據結構]]。 ?</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">堆棧是一種執(zhí)行“后進先出”[[算法]]的</ins>[[數(shù)據結構]]。 ?</div></td></tr> <tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>它是在內存中開辟一個存儲區(qū)域,[[數(shù)據]]一個一個順序地存入(也就是“ 推入——push”)這個區(qū)域之中。有一個地址指針總指向最后一個壓入堆棧的數(shù)據所在的數(shù)據單元,存放這個地址指針的寄存器就叫做堆棧指示器。開始放入數(shù)據的單元叫做“棧底”。數(shù)據一個一個地存入,這個過程叫做“壓?!薄T趬簵5倪^程中,每有一個數(shù)據壓入堆棧,就放在和前一個單元相連的后面一個單元中,堆棧指示器中的地址自動加1。讀取這些數(shù)據時,按照堆棧指示器中的地址讀取數(shù)據,堆棧指示器中的地址數(shù)自動減1。這個過程叫做“彈出pop”。</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>它是在內存中開辟一個存儲區(qū)域,[[數(shù)據]]一個一個順序地存入(也就是“ 推入——push”)這個區(qū)域之中。有一個地址指針總指向最后一個壓入堆棧的數(shù)據所在的數(shù)據單元,存放這個地址指針的寄存器就叫做堆棧指示器。開始放入數(shù)據的單元叫做“棧底”。數(shù)據一個一個地存入,這個過程叫做“壓?!?。在壓棧的過程中,每有一個數(shù)據壓入堆棧,就放在和前一個單元相連的后面一個單元中,堆棧指示器中的地址自動加1。讀取這些數(shù)據時,按照堆棧指示器中的地址讀取數(shù)據,堆棧指示器中的地址數(shù)自動減1。這個過程叫做“彈出pop”。</div></td></tr> <tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==堆棧分類==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==堆棧分類==</div></td></tr> <!-- diff cache key wiki-zz_:diff::1.12:old-109256:rev-109258 --> </table> 尋找 http://kktzf.com.cn/wiki/%E5%A0%86%E6%A0%88?diff=109256&oldid=prev 尋找:?以內容“'''堆棧'''(英文:stack),也可直接稱棧。在計算機科學中,是一種特殊的串行形式的數(shù)據結構,它的特殊之處在于只能...”創(chuàng)建新頁面 2012-05-05T03:10:14Z <p>以內容“&#039;&#039;&#039;堆棧&#039;&#039;&#039;(英文:stack),也可直接稱棧。在<a href="/wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6" title="計算機科學">計算機科學</a>中,是一種特殊的串行形式的<a href="/wiki/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84" title="數(shù)據結構">數(shù)據結構</a>,它的特殊之處在于只能...”創(chuàng)建新頁面</p> <p><b>新頁面</b></p><div>'''堆棧'''(英文:stack),也可直接稱棧。在[[計算機科學]]中,是一種特殊的串行形式的[[數(shù)據結構]],它的特殊之處在于只能允許在鏈結串行或陣列的一端(稱為堆棧頂端指標,英文為top)進行加入資料(push)和輸出資料(pop)的運算。另外堆棧也可以用一維陣列或連結串行的形式來完成。堆棧的另外一個相對的操作方式稱為佇列。由于堆棧數(shù)據結構只允許在一端進行操作,因而按照后進先出(LIFO, Last In First Out)的原理運作。它是一種存儲部件,即[[數(shù)據]]的寫入跟讀出不需要提供地址,而是根據寫入的順序決定讀出的順序。<br /> 堆棧數(shù)據結構使用兩種基本操作:推入(push)和彈出(pop)<br /> *推入(push):將數(shù)據放入堆棧的頂端(陣列形式或串行形式),堆棧頂端top指標加一。 <br /> *彈出(pop):將頂端數(shù)據資料輸出(回傳),堆棧頂端資料減一。<br /> ==簡介==<br /> [[動態(tài)數(shù)據]]區(qū)一般就是“堆?!薄!皸?stack)”和“堆(heap)”是兩種不同的動態(tài)數(shù)據區(qū),棧是一種線性結構,堆是一種鏈式結構。進程的每個線程都有私有的“?!?,所以每個線程雖然[[代碼]]一樣,但本地變量的數(shù)據都是互不干擾。一個堆棧可以通過“基地址”和“棧頂”地址來描述。全局變量和靜態(tài)變量分配在靜態(tài)數(shù)據區(qū),本地變量分配在動態(tài)數(shù)據區(qū),即堆棧中。[[程序]]通過堆棧的基地址和偏移量來訪問本地變量。<br /> ==堆棧原理==<br /> 堆棧是一種執(zhí)行“后進先出”算法的[[數(shù)據結構]]。 <br /> 它是在內存中開辟一個存儲區(qū)域,[[數(shù)據]]一個一個順序地存入(也就是“ 推入——push”)這個區(qū)域之中。有一個地址指針總指向最后一個壓入堆棧的數(shù)據所在的數(shù)據單元,存放這個地址指針的寄存器就叫做堆棧指示器。開始放入數(shù)據的單元叫做“棧底”。數(shù)據一個一個地存入,這個過程叫做“壓?!薄T趬簵5倪^程中,每有一個數(shù)據壓入堆棧,就放在和前一個單元相連的后面一個單元中,堆棧指示器中的地址自動加1。讀取這些數(shù)據時,按照堆棧指示器中的地址讀取數(shù)據,堆棧指示器中的地址數(shù)自動減1。這個過程叫做“彈出pop”。<br /> ==堆棧分類==<br /> *'''陣列堆棧'''<br /> &lt;pre&gt;#include &lt;stdio.h&gt;<br /> #include &lt;stdlib.h&gt;<br /> /*堆疊資料結構*/<br /> struct Stack<br /> {<br /> int Array[10];//陣列空間<br /> int Top;//堆疊頂端指標 <br /> };<br /> /*檢查堆疊是否為空*/<br /> bool stack_empty(Stack *Stack1)<br /> {<br /> if(Stack1-&gt;Top==0)<br /> {<br /> return true; <br /> } <br /> else<br /> {<br /> return false; <br /> }<br /> }<br /> /*推入資料*/<br /> void push(Stack *Stack1,int x)<br /> {<br /> Stack1-&gt;Top=Stack1-&gt;Top+1;<br /> Stack1-&gt;Array[Stack1-&gt;Top]=x; <br /> }<br /> /*彈出資料*/<br /> int pop(Stack *Stack1)<br /> {<br /> if(stack_empty(Stack1))<br /> {<br /> printf(&quot;underflow&quot;);<br /> }<br /> else<br /> {<br /> Stack1-&gt;Top=Stack1-&gt;Top-1;<br /> return Stack1-&gt;Array[Stack1-&gt;Top+1]; <br /> }<br /> <br /> }<br /> int main()<br /> {<br /> struct Stack *Stack1=(struct Stack *)malloc(sizeof(struct Stack));//宣告資料結構空間<br /> Stack1-&gt;Top=0;//初始化<br /> push(Stack1,3);//推入3<br /> push(Stack1,4);//推入4<br /> push(Stack1,1);//推入1<br /> push(Stack1,10);//推入10<br /> printf(&quot;%d &quot;,pop(Stack1));//彈出10<br /> printf(&quot;%d &quot;,pop(Stack1));//彈出1<br /> printf(&quot;%d &quot;,pop(Stack1));//彈出4<br /> system(&quot;pause&quot;); <br /> }&lt;/pre&gt;<br /> *'''串行堆棧'''<br /> &lt;pre&gt;/*鏈棧的結構定義*/<br /> typedef struct { <br /> SLink top;    // 棧頂指針 <br /> int length;   // 棧中元素個數(shù)<br /> }Stack;<br /> <br /> void InitStack ( Stack &amp;S )<br /> { <br /> // 構造一個空棧 S<br /> S.top = NULL;   // 設棧頂指針的初值為&quot;空&quot; <br /> S.length = 0;   // 空棧中元素個數(shù)為0<br /> } // InitStack<br /> /*能否將鏈棧中的指針方向反過來,不行,如果反過來的話,刪除棧頂元素時,為修改其前驅指針,需要從棧底一直找到棧頂。*/ <br /> <br /> <br /> void Push ( Stack &amp;S, ElemType e )<br /> {<br /> // 在棧頂之上插入元素 e 為新的棧頂元素<br /> p = new LNode;   // 建新的結點<br /> if(!p) exit(1);  // 存儲分配失敗<br /> p -&gt; data = e;<br /> p -&gt; next = S.top; // 鏈接到原來的棧頂<br /> S.top = p;     // 移動棧頂指針<br /> ++S.length;     // 棧的長度增1<br /> } // Push<br /> /*在鏈棧的類型定義中設立&quot;棧中元素個數(shù)&quot;的成員是為了便于求得棧的長度。*/<br /> <br /> bool Pop ( Stack &amp;S, SElemType &amp;e )<br /> { <br /> // 若棧不空,則刪除S的棧頂元素,用 e 返回其值,<br /> // 并返回 TRUE;否則返回 FALSE<br /> if ( !S.top )<br /> return FALSE; <br /> else <br /> {<br /> e = S.top -&gt; data;   // 返回棧頂元素 <br /> q = S.top; <br /> S.top = S.top -&gt; next; // 修改棧頂指針 <br /> --S.length;       // 棧的長度減1 <br /> delete q;       // 釋放被刪除的結點空間<br /> return TRUE;<br /> }<br /> } // Pop<br /> &lt;/pre&gt;<br /> ==相關詞條==<br /> *[[數(shù)據]]<br /> *[[數(shù)據結構]]<br /> *[[內存]]<br /> *[[程序]]<br /> *[[算法]]<br /> ==參考來源==<br /> *http://zh.wikipedia.org/wiki/%E5%A0%86%E6%A0%88#.E5.A0.86.E7.96.8A.E7.9A.84.E6.87.89.E7.94.A8<br /> *http://blog.sina.com.cn/s/blog_4127ebcb0100096r.html<br /> *http://baike.baidu.com/view/93201.htm<br /> [[category:數(shù)據結構|D]]</div> 尋找