該文章主要介紹棧的順序儲存結構以及相關運算。
標頭檔案:sqstack.h
template class sqstackclass //順序棧類
;
原始檔:sqstack.cpp
#include #include "sqstack.h"
using namespace std;
const int maxsize = 100;
//***************順序棧的基本運算演算法********************==
template sqstackclass::sqstackclass() //建構函式
template sqstackclass::~sqstackclass()
template bool sqstackclass::stackempty() //判斷棧是否為空
template bool sqstackclass::push(t e) //進棧演算法
template bool sqstackclass::pop(t &e) //出棧演算法
template bool sqstackclass::gettop(t &e) //取棧頂元素演算法
標頭檔案:stackoperate.h
#ifndef stackoprtate_h_
#define stackoprtate_h_
#includeusing namespace std;
//***************== 順序棧的其他運算演算法***************===
bool isserial(int str, int n); //判斷str是否是合適的出棧序列
void disp(int str, int n);
bool ismatch(char str, int n); //利用順序棧判斷表示式中的括號是否匹配
bool ispalindrome(char str, int n); //用順序棧判斷乙個字串是否是回文
#endif
原始檔:stackoperate.cpp
#include "sqstack.cpp"
#include"stackoperate.h"
//********************==順序棧的其他運算演算法***************====
bool isserial(int str, int n)
cout << endl;
cout << "銷毀棧st" << endl;
}//***************=順序棧的其他運算演算法********************===
void main()
; cout << "由1~" << n << "產生"; disp(str, n);
cout << "的操作序列:\n";
if (isserial(str, n))
else
//===
int n1 = 4;
char str1 = "([)]";
if (ismatch(str1, n1))
cout << str1 << "中括號是匹配的\n";
else
cout << str1 << "中括號不匹配\n";
//===
int n2 = 5;
char str2 = "abcba";
if (ispalindrome(str2, n2))
cout << str2 << "是回文\n";
else
cout << str2 << "不是回文\n";
}
佇列 順序儲存結構及其基本運算(迴圈佇列)
該文章主要介紹迴圈佇列的順序儲存結構以及相關運算。標頭檔案 csqqueue.h template class sqqueueclass1 迴圈佇列類模板 原始檔 csqqueue.cpp include include csqqueue.h const int maxsize 100 迴圈隊基本運...
實現順序棧基本運算 棧
c語言實現順序棧的入棧 出棧 棧元素讀取操作 1 include 2 include 3 define maxsize 20 4 define maxnum 10 5 define elemtype int 6 typedef struct sqstack 7 sqstack 儲存結構型別名 111...
棧的順序儲存結構
標頭檔案 函式的宣告 include include include define stacksize 100 typedef int elemtype typedef struct seqstack void initstack seqstack s 初始化棧 int stackempty seq...