//棧的鍵表實現
//標頭檔案
#ifndef _stack_h
#define _stack_h
struct node;
typedef struct node *ptrtonode;
typedef ptrtonode stack;
typedef int elementtype;//設定棧裡面的元素為int型的
int isempty(stack s);
stack createstack(void);
void disposestack(stack s);
void makeempty(stack s);
void push(elementtype x,stack s);
elementtype top(stack s);
void pop(stack s);
#endif
#include
#include "stack.h"
using namespace std;
struct node
;//測試乙個棧是否為空
int isempty(stack s)
//從棧中彈出乙個元素
void pop(stack s)
}//返回棧頂元素
elementtype top(stack s)
}//把乙個元素壓入棧中
void push(elementtype x,stack s)
}//彈出棧中所有元素
void makeempty(stack s)
//陣列實現
#include
#include"stackrecord.h"
using namespace std;
#define emptytos -1;//棧為空時
int minstacksize=5;//乙個棧的最小的長度
struct stackrecond
;//建立乙個空棧——陣列實現
//標頭檔案
#ifndef _stack_h
#define _stack_h
struct stackrecond;
typedef struct stackrecond *stack;//在陣列的棧中對棧的引有也是用指標,這樣就可以修改棧中的元素了
typedef int elementtype;//假設陣列中的元素為int型的
int isempty(stack s);
int isfull(stack s);
stack createstack(int maxelements);
void disposestack(stack s);
void push(elementtype x,stack s);
elementtype top(stack s);
void pop(stack s);
elementtype topandpop(stack);
#endif
//主檔案
void makeempty(stack s)
//棧的建立——陣列的實現
stack createstack(int maxelements)
//檢測乙個棧是否空棧——陣列的實現
int isempty(stack s)
//檢測乙個棧是否滿棧——陣列的實現
int isfull(stack s)
//進棧——陣列的實現
void push(elementtype x,stack s)
//出棧——陣列的實現
void pop(stack s)
//返回棧頂元素——陣列的實現
elementtype top(stack s)
//返回棧項元素並刪除——陣列的實現
elementtype topandpop(stack s)
好好學習,天天向上~~哈哈~~
棧的實現 鍊錶和陣列
c語言 列印函式採用的c 棧的鍊錶實現 棧的初始化 建立 清空 入棧 出棧 獲取棧頂元素 棧的陣列實現 初始化 入棧 出棧 清空棧 參考資料 資料結構與演算法分析 c語言描述 p46 stacklinklist.cpp cpp view plain copy 功能 棧的鍊錶實現 棧的初始化 建立 清...
棧 佇列和陣列
一 棧和佇列的基本概念 1.棧是一種線性表無疑。一般提供兩種操作 入棧 push 和出棧 pop 分別對應著資料插入和資料刪除。佇列的話,也是一種線性表。和棧不同的是,棧只能在棧頂操作 push pop 而佇列被限制為從一端入,從另一端出。這裡的棧和佇列指的都是最一般的情況。2.棧是先進後出的 fi...
兩種實現棧的方式 利用鍊錶和陣列
棧是一種常用的資料結構,其基本方式為先進後出 棧的實現方式一般為兩種 鍊錶和陣列,先來看一下用鍊錶實現的方式 如下 利用鍊錶實現棧 author victor gong param 棧中元素的資料型別 public class linkedstack public linkedstack retur...