棧的基本應用 求迷宮的路徑

2021-06-08 11:41:18 字數 1914 閱讀 1105

#include "stdafx.h"

typedef structcoordinate;

typedef struct item;

#define maze_line     10

#define maze_row 9

int a[maze_row][maze_line] =

;int mark[maze_row][maze_line] = ;

#define selemtype item

#define stack_init_len 10

#define stack_incr_len 10

typedef struct stack

sqstack;

int init_stack(sqstack **ptr)

(*ptr)->base = (selemtype *)calloc(stack_init_len, sizeof(selemtype));

if(null == (*ptr)->base)

(*ptr)->top = (*ptr)->base;

(*ptr)->stack_size = stack_init_len;

return true;

}int push_stack(sqstack *ptr, selemtype elem)

ptr->top = ptr->base + ptr->stack_size;

ptr->stack_size += stack_incr_len;

}*ptr->top= elem;

ptr->top++;

return true;

}int pop_stack(sqstack *ptr, selemtype *elem)

else

return true;

}int get_top(sqstack *ptr, selemtype *elem)

else

return true;

}void clear_stack(sqstack * ptr)

free(ptr);

}return;

}int is_empty(sqstack *ptr)

else

}int is_passed(item *ptr)

if(0 != ptr->no || (0 == a[ptr->loc.y][ptr->loc.x]) || 0 != mark[ptr->loc.y][ptr->loc.x])

else

}int is_end(item *ptr)

else

}int get_next(item *ptr, item *next)

if(false == result)

return result;

}void mark_pos(item *ptr, int value)

int maze_find_path(sqstack *head)

;item current = ;

item *ptr = ¤t;

item next = ;

int no = 0;

*ptr = start;

doget_next(ptr, &next);   

*ptr = next;

}else

if(ptr->direction < 3)

}} while(false == is_empty(head));

return false;

}void print_path(sqstack *ptr)

while(ptr->top !=ptr->base)

return;

int mazepath()

else

clear_stack(head);

return true;

}

棧和佇列基本應用

一 棧 棧 是限定僅在表尾進行插入或刪除操作的線性表,表尾段稱為棧頂,表頭段稱為棧底,棧有稱後進先出線性表。棧有順序棧和鏈棧。個人總結 棧的操作可以在陣列的基礎上,也可以運用stack。陣列的操作就不多說了,現在總結一下stack。stack基本應用。標頭檔案 include stack stack...

鏈式儲存棧及基本應用

實驗二 棧 佇列 實驗學時 學時 背景知識 入棧 出棧,入隊 出隊。目的要求 1 掌握棧 佇列的思想及其儲存實現。2 掌握棧 佇列的常見演算法的程式實現。實驗內容 1 採用鏈式儲存實現棧的初始化 入棧 出棧操作。2 採用順序儲存實現棧的初始化 入棧 出棧操作。3 採用鏈式儲存實現佇列的初始化 入隊 ...

Tomcat的基本應用

1 測試tomcat 啟動tomcat 在瀏覽器中輸入 2 tomcat的管理 tomcat 的服務管理頁面是 的應用程式管理頁面 3 發布應用程式 jsp應用程式 war有二種方式,一種是按一定的目錄結構組織檔案,一種是乙個字尾為 war的壓縮包,因此它的部署方式也有兩種 1 在瀏覽器中輸入 就會...