#include你所需要的網(wǎng)站建設(shè)服務,我們均能行業(yè)靠前的水平為你提供.標準是產(chǎn)品質(zhì)量的保證,主要從事成都網(wǎng)站設(shè)計、成都做網(wǎng)站、企業(yè)網(wǎng)站建設(shè)、手機網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計、品牌網(wǎng)站設(shè)計、網(wǎng)頁制作、做網(wǎng)站、建網(wǎng)站。創(chuàng)新互聯(lián)擁有實力堅強的技術(shù)研發(fā)團隊及素養(yǎng)的視覺設(shè)計專才。using namespace std; #include #include #include //template //兩個棧實現(xiàn)一個隊列 //class StackToqueue //{ //public: // StackToqueue() // {} // void Push(const T& x) // {//始終保持讓棧1進 // _stack1.push(x); // } // T Pop() // { // if (_stack2.empty() && !_stack1.empty()) // {//如果棧2為空且棧1不為空,則將棧1的所有元素導入到棧2中,保證棧1進,棧2出 // while (!_stack1.empty()) // { // _stack2.push(_stack1.top()); // _stack1.pop(); // } // } // T StackPopElm = _stack2.top(); // _stack2.pop(); // return StackPopElm; // } // ~StackToqueue() // {} //protected: // stack _stack1; // stack _stack2; //}; // //void Test() //{ // StackToqueue s; // s.Push(1); // s.Push(2); // s.Push(3); // s.Push(4); // s.Push(5); // s.Push(6); // s.Push(7); // s.Push(8); // s.Push(9); // s.Push(10); // cout << s.Pop() << " " < //class QueueToStack //{ //public: // QueueToStack() // {} // void push(const T& x) // {//如果隊列1不為空則讓元素入到這個不為空的隊列中,若為空,默認入到隊列2中 // if (!_queue1.empty()) // { // _queue1.push(x); // } // else // _queue2.push(x); // } // T Pop() // { // if (_queue1.empty() && _queue2.empty()) // { // return -1; // } // //如果-個隊列不為空,讓該隊列的前n-1個元素出隊列,放入到另一個隊列中 // //讓該隊列中保持只有一個元素然后讓其出隊列 // if (!_queue1.empty()) // { // while (_queue1.front() && _queue1.front() != _queue1.back()) // { // _queue2.push(_queue1.front()); // _queue1.pop(); // } // T QueuePopElm = _queue1.front(); // _queue1.pop(); // return QueuePopElm; // // } // if (!_queue2.empty()) // { // while (_queue2.front() && _queue2.front() != _queue2.back()) // { // _queue1.push(_queue2.front()); // _queue2.pop(); // } // T QueuePopElm = _queue2.front(); // _queue2.pop(); // return QueuePopElm; // } // } // ~QueueToStack() // {} //protected: // queue _queue1; // queue _queue2; //}; //void Test() //{ // QueueToStack q; // q.push(1); // q.push(2); // q.push(3); // q.push(4); // q.push(5); // q.push(6); // q.push(7); // q.push(8); // cout << q.Pop() << " "; // cout << q.Pop() << " "; // cout << q.Pop() << " "; // q.push(9); // cout << q.Pop() << " "; // cout << q.Pop() << " "; //} //求一個棧中的最小元素 //template //class StackMin //{ //public: // StackMin() // {} // T GetStackMinTop() // { // return _stack_min.top(); // } // void Push(const T&x)//兩個棧同時入元素,保存最小數(shù)的那個棧在入棧前先要與該棧頂元素相比較 // { //始終保持保存最小數(shù)的那個棧的棧頂元素是當前所有元素之中最小的 // _stack.push(x); // if (_stack_min.empty()) // { // _stack_min.push(x); // } // else // { // if (_stack_min.top() < x) // { // _stack_min.push(GetStackMinTop()); // } // else // { // _stack_min.push(x); // } // } // } // void Pop() // { // if (!_stack.empty() && !_stack_min.empty()) // { // _stack.pop(); // _stack_min.pop(); // } // } //protected: // stack _stack; // stack _stack_min; //}; // //void Test() //{ // StackMin sm; // sm.Push(2); // sm.Push(8); // sm.Push(6); // sm.Push(9); // sm.Push(1); // sm.Push(5); // cout << sm.GetStackMinTop() << endl; // sm.Pop(); // cout << sm.GetStackMinTop() << endl; // sm.Pop(); // cout << sm.GetStackMinTop() << endl; // sm.Push(0); // cout << sm.GetStackMinTop() << endl; // //} //判斷出棧順序的合法性 template class Stack { public: Stack() {} bool IsLegal(const char* pushstr, const char* popstr) { assert(pushstr && popstr); if (strlen(pushstr) != strlen(popstr)) return false; while (*pushstr || !_stack.empty()) {//如果入棧序列不為空或者棧不為空 _stack.push(*pushstr++); while(!_stack.empty()&&_stack.top()==*popstr) {//若棧不為空且棧頂元素與出棧序列元素相同,則出棧序列指針后移同時將棧頂元素出棧 popstr++; _stack.pop(); } //如果入棧序列已為空且出棧序列元素不與棧頂元素匹配 if (*pushstr == '\0' && !_stack.empty() && *popstr != _stack.top()) return false; } return true; } ~Stack() {} protected: stack _stack; }; void Test() { Stack s; char* str = "12345"; char* dst = "54321"; cout << s.IsLegal(str, dst) << endl; }
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。