今天考完c++ 前幾天複習的時候邊緣ob了szk的手寫棧和佇列 又結合了一下專業的考點補充整合了一下
以下是用模板類(陣列)與抽象類(鍊錶)寫的queue和stack的push和pop函式以及例項應用
#include usingnamespace
std;
const
int n=1e5+9
;template
//
佇列類模板
class
queue
bool
empty()
bool
full()
void push(t x) //
push
else
}t pop()
//pop
h++;
return
q[h];
}};template
//
棧類模板
class
stack
void push(t x) //
push
s[top++]=x;
}t pop()
//pop
return s[--top];
}bool
empty()
bool
full()
};//
抽象類------- 鍊錶實現佇列和堆疊
class list //
鍊錶 基類 抽象類
virtual
void push(int i)=0; //
純虛函式
virtual
int pop()=0;};
class que:public
list
}intpop()
else
}};class sta:public
list
}intpop()
else
}};int
main()
else
if(c==2) cout<<"請 "
<"
號客戶到櫃檯辦理業務
"
---quit---");
}while
(c);
stack
st; //
stack例項化
intn;
cin>>n;
while
(n)
while(!st.empty())
cout
que q;
p=&q;
p->push(1
); cout
q.push(2);
cout
return0;
}
棧與佇列 建立棧 佇列
陣列棧 完成stack createstack int maxelements 函式,該函式建立乙個棧,maxelements為與分配的棧空間大小 棧可用空間為array 0,maxelements 1 typedef int elemtype struct stackrecord typedef ...
棧 佇列與優先佇列
123 45 include stack int s 入棧 push 出棧 pop 取棧頂top 123 45 include queue int s 入隊 push 出隊 pop 取隊首元素 front 不刪除 123 4priority queue int pq 入隊 push 出隊 pop 取...
棧 佇列與優先佇列
123 45 include stack int s 入棧 push 出棧 pop 取棧頂top 123 45 include queue int s 入隊 push 出隊 pop 取隊首元素 front 不刪除 123 4priority queue int pq 入隊 push 出隊 pop 取...