資料結構複習 棧

2021-08-31 08:44:42 字數 955 閱讀 6229

棧,也是一種表結構,特點是先進後出。實現方式也有兩種:陣列和鍊錶。本文主要是複習,老鳥跳過!具體主要包括以下操作:

stack createstack(void);

int isempty(stack s);

//int isfull(stack s);//鏈式stack可以不斷申請space

void makeempty(stack s);

elementtype pop(stack s);

elementtype top(stack s);

void push(elementtype e,stack s);

void print(stack s);

一、建立stack

以鏈式結構為例,先新建乙個空的stack,也就是新建乙個表頭節點(好處在於插入和刪除操作更方便)。示例**如下:

// 建立stack
stack createstack(void)else
return s;
}

二、入棧操作,對應於push函式。主要是將元素壓入棧中。示例**如下:

//push
void push(elementtype e,stack s)else
}

三、出棧操作,對應於pop函式,主要是將棧頂元素彈出。示例**如下:

//pop
elementtype pop(stack s)else
return e;
}

四、判斷棧是否為空。也就是鍊錶是否為空。示例**如下:

//判斷是否為空
int isempty(stack s)

資料結構之 棧 複習

棧 先進後出的線性表 棧也可以通過順序儲存和鏈式儲存的方式實現 一 順序儲存實現 陣列的尾端作為棧頂 實現 package org.xiazdong.list public class myarraystack public void push t e top if top t.length t t...

資料結構複習之 棧

棧 先進後出的線性表 棧也可以通過順序儲存和鏈式儲存的方式實現 陣列的尾端作為棧頂 實現 package org.xiazdong.list public class myarraystack public void push t e top if top t.length t top e publ...

複習 資料結構 棧和佇列

鏈佇列 include include define elemtype char define maxsize 100 typedef struct node 定義節點型別 snode typedef struct lqueue void initqueue lqueue qu void enque...