#pragma once
using namespace std;
const int maxsize = 0xfff;
template
type>
class class_linkstack
}class_linkstack(int size) :top(-1), max_size(size)
}~class_linkstack()
bool empty_linkstack();
void push_linkstack(type
tp);
void pop_linkstack();
type
top_linkstack();
int size_linkstack();
void print_linkstack();
};template
type>
void class_linkstack::print_linkstack()
}template
type>
bool class_linkstack::empty_linkstack()
}template
type>
void class_linkstack::push_linkstack(
type
tp)}
template
type>
void class_linkstack::pop_linkstack()
else
}template
type>
type
class_linkstack
::top_linkstack()
}template
type>
int class_linkstack::size_linkstack()
#include "class_linkstack.h"
int main()
上面是通過陣列來實現,與陣列相比,鍊錶實現更靈活,更容易增刪元素。
單鏈表實現的核心思想是不斷更新棧頂指標,來實現出棧壓棧,每乙個節點是乙個結構體,包含乙個value和乙個next指標指向下乙個元素,初始化時將棧頂指標置為null。
#pragma once
using namespace std;
template
type>
struct listnode
};template
type>
class list_stack
}};template
type>
bool list_stack::empty()
}template
type>
list_stack::list_stack()
template
type>
void list_stack::push(
type &tp)
template
type>
void list_stack::pop()
else
}template
type>
int list_stack::size()
template
type>
void list_stack::print()
}
簡單測試:
類模板實現單鏈表
特別注意 編寫函式前必須先進行模板的宣告 includeusing namespace std templateclass list 宣告list類 templateclass listnode listnode type d,listnode n null data d next n listno...
C 類模板實現順序棧
棧的抽象類的定義 template class stack 順序棧類的定義 include stack.h template class seqstack public stack 順序棧類的實現 include using namespace std template seqstack seqst...
利用模板實現vector類,異常處理
題目描述 參考c vector類模板,設計實現自己的cvector向量類模板,完成下列基本功能 構造 析構 size push back和下標訪問,在通過下標訪問越界時丟擲異常。編寫測試程式,利用該類模板完成乙個直譯器,它接受命令,執行相應操作。本題不可使用stl vector,所需記憶體通過動態分...