在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 限定了它們的特性,那麼今天就來看看如何使用 棧 的特性來實現乙個 佇列 如何用 佇列 實現乙個 棧 首先,佇...