![]() |
|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
![]() ![]() |
|
主題工具 | 顯示模式 |
![]() |
#1 |
註冊會員
|
![]() 這一個程式它是怎麼執行的阿
他的每一行 做啥 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 0 1 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 1 1 1 1 0 void path(void) {/* 輸出迷宮的一個路徑(如果有的話) */ int i, row, col, nextRow, nextCol, dir, found = FALSE; element position; mark[1][1] = 1; top = 0; stack[0].row = 1; stack[0].col = 1; stack[0].dir = 1; while(top > -1 && !found) { position = pop(); row = position.row; col = position.col; dir = position.dir; while (dir < 8 && !found) { /* 以dir的方向移動 */ nextRow = row + move[dir].vert; nextCol = col + move[dir].horiz; if (nextRow == EXIT_ROW && nextCol == EXIT_COL) found = true; elseif( !maze[nextRow][nextCol] && !mark[nextRow][nextCol]) { mark[nextRow][nextCol]=1; position.row = row; position.col = col; position.dir = ++dir; push(position); row = nextRow; col = nextCol; dir = 0; } else ++dir; } } if (found) { printf("The path is:\n”); printf(“row col\n”); for(i = 0; i <= top; i++) printf(“%2d%5d”,stack[i].row, stack[i].col); printf(“%2d%5d\n”,row,col); printf(“%2d%5d\n”,EXIT_ROW,EXIT_COL); } else printf(“The maze does not have a path\n”); |
![]() |
送花文章: 0,
![]() |
![]() ![]() |
|
|
![]() |
||||
主題 | 主題作者 | 討論區 | 回覆 | 最後發表 |
程式 - 關於”迷宮”的程式碼 | ber751 | 程式語言討論區 | 0 | 2007-11-29 10:12 PM |