C 學習 棧的構建及操作

2022-08-30 11:27:12 字數 986 閱讀 8777

一、順序棧

#include using namespace std;

#define maxsize 100 //棧的最大容量

typedef struct sqstack;

void initstack(sqstack& s)

//入棧

bool push(sqstack& s, int e)

//出棧

bool pop(sqstack& s, int& e)

//取棧頂元素,返回s的棧頂元素,不修改棧頂指標

int gettop(sqstack s)

//判斷順序棧s是否為空棧

bool isempty(sqstack s)

//批量入棧

void stackinput(sqstack& s)

}}

二、鏈棧

#include using namespace std;

//鏈棧的儲存結構

typedef struct stacknode *linkstack;

//鏈棧的初始化

void initstack(linkstack& s)

//入棧,在棧頂插入元素e

bool push(linkstack &s,int e)

//出棧,刪除s的棧頂元素,用第二個引數返回其值

bool pop(linkstack& s, int& e)

//取棧頂元素,不修改棧頂指標

int gettop(linkstack s)

//判斷鏈棧s是否為空棧

bool isempty(linkstack s)

//批量入棧

void stackinput(linkstack& s)

}//依次彈出棧頂元素

void stackout(linkstack& s)

}int main()

}}

力扣 1441 用棧操作構建陣列 C

給你乙個目標陣列 target 和乙個整數 n。每次迭代,需要從 list 中依序讀取乙個數字。請使用下述操作來構建目標陣列 target 題目資料保證目標陣列嚴格遞增,並且只包含 1 到 n 之間的數字。請返回構建目標陣列所用的操作序列。題目資料保證答案是唯一的。示例 1 輸入 target 1 ...

1441 用棧操作構建陣列

給你乙個目標陣列target和乙個整數n。每次迭代,需要從list 中依序讀取乙個數字。請使用下述操作來構建目標陣列target 題目資料保證目標陣列嚴格遞增,並且只包含1到n之間的數字。請返回構建目標陣列所用的操作序列。題目資料保證答案是唯一的。示例 1 輸入 target 1,3 n 3輸出 p...

1441 用棧操作構建陣列

題目描述 給你乙個目標陣列 target 和乙個整數 n。每次迭代,需要從 list 中依序讀取乙個數字。請使用下述操作來構建目標陣列 target push 從 list 中讀取乙個新元素,並將其推入陣列中。pop 刪除陣列中的最後乙個元素。如果目標陣列構建完成,就停止讀取更多元素。題目資料保證目...