class類實現棧 佇列

2021-10-03 05:27:08 字數 1145 閱讀 3800

在c++中,stl裡有stack和queue兩個封裝函式,一直不知道是怎麼實現的,直到在網上看到了class類,然後自己寫了一下特此記錄

class stack;

bool full()

private:

char ch[666];

int _top;

};stack::stack()

void stack::push(char c)

void stack::pop()

void stack::show()

char stack::top()

#include#include/*

輸入一串數字按有序二叉樹建樹,到0結束

並判斷該二叉樹是否為完全二叉樹

*/typedef struct bitnodebitnode;

class queue

private:

bitnode *first;

bitnode *last;

int sum;

};bitnode *insert(bitnode *t,int num)

else p=p->rchild;

}else if(numdate)

else p=p->lchild;

}else break;

} }return t;

}bitnode *create_tree()

return t;

}queue::queue()

bitnode *queue::top()

void queue::pop()

}void queue::push(bitnode *t)

else

sum++;

}int main()

q.push(p->lchild);

} else flag=1;

if(p->rchild)

q.push(p->rchild);

} else flag=1;

q.pop();

} if(q.empty()) printf("yes!\n");

return 0;

}

這個是將佇列與樹結合,用來判斷完全二叉樹問題 

佇列實現棧棧實現佇列

佇列是一種先進先出的資料結構,要想實現先進後出,需加乙個輔助佇列進行資料的來回倒 引用交換 從而實現棧結構。例如 5 4 3 2 1 用乙個輔助佇列裝 4 3 2 1,把5彈出,在把 4 3 2 1放回原佇列,如此反覆可變成5 4 3 2 1的棧結構。棧是一種先進後出的資料結構,要想實現先進先出,同...

佇列實現棧,棧實現佇列

兩個佇列實現棧 每次進入乙個佇列,取出得時候,把所有元素進入另乙個佇列,只留下乙個元素,以此實現棧的先進後出 filo package algorithmbymyself import j a.util.linkedlist import j a.util.queue 用兩個佇列實現乙個棧 publ...

佇列實現棧以及棧實現佇列

232.用棧實現佇列 簡單 225.用佇列實現棧 簡單 佇列是一種先進先出的資料結構,棧是一種先進後出的資料結構,形象一點就是這樣 這兩種資料結構底層其實都是陣列或者鍊錶實現的,只是 api 限定了它們的特性,那麼今天就來看看如何使用 棧 的特性來實現乙個 佇列 如何用 佇列 實現乙個 棧 首先,佇...