棧是基本的資料結構之一,利用一維陣列或鍊錶作為儲存結構,實現***入棧***,出棧,讀取棧頂元素和判斷棧是否為空等操作。
與線性表最大的不同之處是,棧只允許在一端進行插入和刪除操作。
順序棧的資料結構很簡單,變數top用來記錄棧頂位置,初始化為-1,陣列data用來儲存資料。
templateclass seqstack
void push(t data);
void pop();
t top();
bool isempty();
};
接下來是具體的**
#includeusing namespace std;
const int max_size = 100;
templateclass seqstack
void push(t data);//入棧
void pop();//出棧
t top();//讀取棧頂元素
bool isempty();//判斷棧是否為空
};templateseqstack::seqstack()//建構函式,初始化top和順序棧
top++;
data[top] = data;
}templatevoid seqstack::pop()
cout << data[top] << endl;
top--;
}templatet seqstack::top()
return data[top];
}templatebool seqstack::isempty()
int main()
資料結構之順序棧
棧的順序儲存結構用一組位址連續的儲存單元 陣列,依次存放自棧底到棧頂的資料元素。最簡單的一種棧的寫法如下 define maxsize 100 int stack maxsize int top 棧頂位置 void initstack void clearstack int gettop int e...
資料結構之順序棧
前面我們學習了順序鍊錶,我們可能會覺得順序鍊錶有啥用呢?基本都是要被淘汰了用法。呵呵,俗話說 存在的即是合理的。下面我來炫炫它的用法,請睜大你的眼睛,下面是見證奇蹟的時刻。第六個例子,順序棧的實現 標頭檔案要包含兩部分,乙個是我們先前實現的順序表,不清楚,出門右轉,看前面的文章 標頭檔案 ifnde...
資料結構之順序棧
include include include define n 32 typedef struct stack seqstack t 建立堆疊 seqstack t creat empty seqstack 建立乙個空的順序棧 申請記憶體空間 並將棧頂初始化為 1 int stack is emp...