自己動手寫資料結構 Queue類模板的鍊錶實現

2021-06-08 05:20:54 字數 1455 閱讀 9782

#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...