freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[工學]數(shù)據(jù)結(jié)構(gòu)第三章-展示頁

2025-01-28 08:34本頁面
  

【正文】 typedef struct snode { stackItem data。 福州大學至誠學院 棧的鏈式表示 ? 鏈棧 :棧的鏈式存儲結(jié)構(gòu)稱為鏈棧,它是運算是受限的單鏈表,插入和刪除操作僅限制在表頭位置上進行 .由于只能在鏈表頭部進行操作,故鏈表沒有必要附加頭結(jié)點。 return OK。 } 福州大學至誠學院 順序棧的操作實現(xiàn) 刪除 S的棧頂元素 status Pop(SqStack *s, SElemType *e) { if (stop == sbase)return ERROR。 } *stop++ = e。 stop = sbase + sstacksize。 if (!temp) return(OVERFLOW)。 福州大學至誠學院 *base *top stacksize ...... a1 ... ai an s *base *top stacksize ...... a1 ... ai an s 棧滿時,追加存儲空間 e *stop++ = e。 return OK。 } 福州大學至誠學院 順序棧的操作實現(xiàn) GetTop //返回棧 S中棧頂元素 Status GetTop(SqStack s, SElemType *e) { if ( == )return ERROR。 sstacksize = STACK_INIT_SIZE。 if(!s base) return(OVERFLOW)。 福州大學至誠學院 順序棧示意圖 *base *top stacksize 初始 空 棧 *top = *base。 /*棧頂指針 */ int stacksize。 福州大學至誠學院 棧的順序表示與實現(xiàn) (順序棧 ) define STACK_INIT_SIZE 100 define STACKINCREMENT 10 typedef struct{ SElemType *base。S) ?初始條件 : 棧 S已經(jīng)存在 。 ?操作結(jié)果 : 刪除 S的棧頂元素并用 e返回其值 。S,amp。 ?操作結(jié)果 : 插入元素 e為新的棧頂元素 。 福州大學至誠學院 棧的基本操作 ? Push(amp。 ?操作結(jié)果 : 從棧底到棧頂依次對 S的每個元素調(diào)用函數(shù) visit ()。 ?操作結(jié)果 : 用 e返回棧 S中棧頂元素的值 。 ? GetTop(S,amp。 ? StackLength(S) ?初始條件 : 棧 S已經(jīng)存在 。 ?操作結(jié)果 : 若棧 S為空棧 , 則返回 TURE。 ? 操作結(jié)果 : 銷毀棧 S。 ? DestroyStack(amp。 StackTraverse(S,visit ()) }ADT Stack 福州大學至誠學院 棧的基本操作 ? InitStack(amp。S,amp。S,e)。e)。 StackLength(S) 。S)。S)。S)。 福州大學至誠學院 棧的抽象數(shù)據(jù)類型定義 ADT Stack { 數(shù)據(jù)對象: D = {ai | ai屬于 Elemset, (i=1,2,…,n, n≥0)} 數(shù)據(jù)關(guān)系: R1 = {< ai1,ai> |ai1,ai屬于 D,(i=2,3,…,n)} 約定 an為棧頂 , a1為棧底。 ? 空棧:表中沒有元素。 ? 棧 S=(a1, a2, a3, … an)按照按 a1… an的次序進棧,如圖: aa11aa22a a n 11a a n……棧頂棧 底彈棧入?!瓧m敆?底彈棧入棧? 棧頂 Top:插入、刪除的這一端。福州大學至誠學院 ? 棧 ? ? ? 棧的應用舉例 ? 數(shù)制轉(zhuǎn)換 ? 括號配對問題 ? 迷宮求解 ? * 棧和遞歸的實現(xiàn) ? 隊列 ? 抽象數(shù)據(jù)類型隊列的定義 ? 鏈隊列 隊列的鏈式表示與實現(xiàn) ? 循環(huán)隊列 隊列的順序表示與實現(xiàn) 第三章 棧和隊列 福州大學至誠學院 題目:將十進制數(shù) N轉(zhuǎn)換為其他進制數(shù)輸出 基本原理: N=(n div d)*d + n mod d “div”是整除運算, mod為求余運算。 數(shù)制轉(zhuǎn)換 福州大學至誠學院 top top 4 top 4 0 top 4 0 5 例如: (1348)10=(2504)8,其運算過程如下: N N div 8 N mod 8 1348 168 4 168 21 0 21 2 5 2 0 2 計算順序 輸出順序 top 4 0 5 2 福州大學至誠學院 棧 ? 棧的定義:操作受限制的線性表,只能在線性表的一端進行插入和刪除運算。 ? 棧底 Bottom:不做任何操作的另一端。 ? LIFO:棧的修改是按后進先出的原則進行的。 基本操作: InitStack(amp。 DestroyStack(amp。 ClearStack(amp。 StackEmpty(S)。 GetTop(S,amp。 Push(amp。 Pop(amp。e)。S) ? 操作結(jié)果 :構(gòu)造一個空的棧 S。S) ?初始條件 : 棧 S已經(jīng)存在 。 福州大學至誠學院 棧的基本操作 ? StackEmpty(S) ?初始條件 : 棧 S已經(jīng)存在 。否則返回 FALSE。 ? 操作結(jié)果 : 返回棧 S中的數(shù)據(jù)元素個數(shù) 。e) ?初始條件 : 棧 S已經(jīng)存在且非空 。 福州大學至誠學院 ? StackTraverse(S,visit ()) ?初始條件 : 棧 S已經(jīng)存在且非空 。 一旦 visit ()失敗 , 則操作失敗 。S,e) ? 初始條件 : 棧 S已經(jīng)存在 。 ? Pop(amp。e) ?初始條件 : 棧 S已經(jīng)存在且非空 。 ? ClearStack(amp。 ?操作結(jié)果 : 將棧 S重置為空棧 。 /*在棧構(gòu)造之前和銷毀之后, base的值為 NULL*/ SElemType *top。 /*當前已分配的存儲空間,以元素為單位*/ }SqStack。 stacksize = STACK_INIT_SIZE *base *top stacksize ...... a1 ... ai an 順序棧 ?空棧的棧頂指針指向棧底 ?非空棧中的棧頂指針始終在棧頂元素的下一個位置 福州大學至誠學院 top 1 2 3 4 5 0 進棧 A 棧滿 B C D E F 設(shè)數(shù)組維數(shù)為 M top=base,棧空 , 此時出棧,則下溢( underflow) top=M,棧滿 , 此時入棧 則上溢( overflow) top top top top top 1 2 3 4 5 0 空棧 top base base top 出棧 top top ??? base 棧底指針 base,始終指向棧底位置;棧頂指針 top,其
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1