第三章(7) 棧的應用舉例(3)

2021-07-02 01:51:44 字數 1547 閱讀 8863

同樣採用鏈棧基本操作

typedef struct postype ;

typedef structelemtype ;

typedef struct snode    //鏈棧結點

snode,*stacknode;

typedef struct

linkstack;

#define maxlen 10

typedef int mazetype[maxlen][maxlen] ;

#define true 1

#define false 0

#define ok  1

#define error 0

//-------------------迷宮求解------------------------//

int pass( mazetype maze , postype curpos )

void footprint( mazetype maze , postype curpos , int curstep )

postype nextpos( postype curpos , int di )

,,,}; //分別表示東南西北.依據的中心為.

curpos.x +=direct[di].x ;

curpos.y +=direct[di].y ;

return curpos ;

}void makeprint( mazetype maze , postype curpos )

int mazepath( mazetype maze , postype start , postype end )

else          //當前位置不能通過

if( e.di < 3 )

}}//else

}while( !stackempty( s ) ) ;

return false ;

}void print( mazetype maze , int x , int y )

}void initmaze( mazetype maze , int x , int y )

for( i = 1 ; i < x - 1 ; ++ i )  //初始外圍列

for( i = 1 ; i < x - 1 ; ++ i )

for( j = 1 ; j < y - 1 ; ++ j )

maze[ i ][ j ] = 1 ;  //定義通道初始值為1.

printf( "輸入迷宮內牆單元的個數:" ) ;

scanf( "%d" , &j ) ;

fflush(stdin) ;

printf( "設定迷宮內牆單元的行數以及列數:\n" ) ;

for( i = 1 ; i <= j ; ++ i )

print( maze , x , y ) ;

}int  main( )

else

printf("此迷宮沒有一條從出口到入口的路徑!\n") ;

return 0 ;

}

第三章 2 棧和佇列 棧的應用舉例

前言 本節為棧的應用舉例,只包括 實現部分 目錄 2.棧的應用舉例 進製轉換 括號匹配 正文 進製轉換實現 注意 此函式要和上一節,棧的實現 放在一起 進製轉換 void conversion printf s 轉換8進製後為 while s.base s.top 括號匹配 實現 匹配 在 char...

第三章棧與佇列 3

棧 先進後出,lifo 佇列 先進先出,fifo 隊尾,rare,隊頭,front 佇列的抽象資料定義 adt queue 資料關係 r1 基本操作 初始化,銷毀,清空,判空,求長度,獲得隊頭,插入元素,刪除隊頭並返回,呼叫函式 adt queue雙端佇列 端點1 端點2 受限的雙端佇列 佇列的兩種...

Spring MVC應用 第三章

前言知識點 食材本章知識點難以理解,可結合第一 二章作業食用。傳統的 spring 做法是使用.xml 檔案來對 bean 進行諸如或者是配置 aop 事務,這麼做有兩個缺點 例中用乙個叫做 p1 的空方法來表示乙個切入點,當希望將通知織入該切入點時,在註解中用方 法簽名來代替切入點表示式即可。由於...