#include "mystack.h" //包含stack模板類標頭檔案
template class myqueue
myqueue(const myqueue& q);
myqueue& operator = (const myqueue& q);
bool operator == (const myqueue& q);
bool operator += (const myqueue& q);
~myqueue();
t& front();
t& back();
void push(const t& t);
void pop();
bool empty() const;
void clear();
protected:
private:
class node
t val;
node* next;
}; node* _front, *_back;
size_t size;
};template myqueue::myqueue(const myqueue& q):_back(0), size(q.size)
}template myqueue::~myqueue()
template t& myqueue::front()
template t& myqueue::back()
template void myqueue::push(const t& t)
template void myqueue::pop()
}template bool myqueue::empty() const
template void myqueue::clear()
template myqueue& myqueue::operator = (const myqueue& q)
}}
//判斷與其他佇列是否相等
template bool myqueue::operator == (const myqueue& q)
q1.pop();
this2.pop();
} return true;
} else
return false;
}
//實現與其他佇列疊加
template bool myqueue::operator += (const myqueue& q)
return true;
} return false;
}
//實現佇列元素反轉(用到stack模板類)
template void reverse(myqueue& q)
while (!s._empty())
}
自己動手寫資料結構 智慧型指標類
智慧型指標類 class smartpt smartpt friend class hasptr int pt size t use class hasptr hasptr const hasptr h ptr h.ptr val h.val hasptr hasptr operator const...
自己動手寫string類 一
前面說到了string類,為什麼她就能夠那麼方便呢?其實這是有原因的,因為它的背後有很多願意默默奉獻的英雄們在大力支援 今天就讓我們來初窺其神秘的面紗 其實也只是冰山一角 我們都知道string物件可以直接進行輸入,輸出,賦值,相加,比較等等,其實說到底就是string類中對大量的運算子進行了過載。...
資料結構 佇列 queue
佇列 就是生活中的排隊,因此排隊是先到先得,也是先離開隊伍,因此佇列也是採用的先進先出的概念 fifo,慢慢想想作業系統裡面是不是也用到fifo,自己去查吧 到底有沒有 如何能夠準確的定位是先進先出呢,因此採用的就是頭指標front和尾指標rear,通常這兩個指標是封裝成乙個鏈隊 注意front與r...