本文整理汇总了C++中MyQueue::push方法的典型用法代码示例。如果您正苦于以下问题:C++ MyQueue::push方法的具体用法?C++ MyQueue::push怎么用?C++ MyQueue::push使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MyQueue
的用法示例。
在下文中一共展示了MyQueue::push方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fillSilhouette
/*
* Repaint silhouette in color of background
*
* @param point Extreme point of silhouette
* @param imageMatrix 2d array that contains color's
* @param width The width of the image
* @param height The height of the image
* @param backgroundColor Variable that indicate background color
*/
void SilCounter::fillSilhouette(QPoint &point, int **imageMatrix, int width, int height, int backgroundColor){
// queue that store all point neighbours, with silhouette color
MyQueue<QPoint> queueOfPoints;
// repaint point in background color to prevent it from re-adding to the queue from cycle
imageMatrix[point.y()][point.x()] = backgroundColor;
queueOfPoints.push(point);\
// walk throw all point neigbours with silhouette color
while(queueOfPoints.size()){
// temporary variable for poin from queue
QPoint temp = queueOfPoints.front();
int x = temp.x();
int y = temp.y();
queueOfPoints.pop();\
// walk throw all point neigbours with silhouette color repaint them and adding to the queue
for(int i = -1; i <= 1; i++){
for(int j = -1; j <= 1; j++){
if( (0 <= x + i) && (x + i < width) && (0 <= y + j) && (y + j < height) && (imageMatrix[y + j][x + i] != backgroundColor)){
imageMatrix[y + j][x + i] = backgroundColor;
queueOfPoints.push(QPoint(x + i,y + j));
}
}
}
}
}
示例2: main
int main()
{
MyQueue q;
cout << q.pop() << endl;
q.push(1);
q.push(10);
cout << q.pop() << endl;
cout << q.pop() << endl;
return 0;
}
示例3: main
int main(){
MyQueue<int> q;
for(int i=0; i<10; ++i){
q.push(i);
}
q.pop();
q.pop();
q.push(10);
cout<< q.sintop() << ' ' << q.top() << endl;
return 0;
}
示例4: main
int main (char *argv[], int argc) {
MyQueue q;
q.push(1);
q.push(2);
q.push(3);
cout << q.front() << endl;
cout << q.back() << endl;
q.pop();
cout << q.front() << endl;
cout << q.back() << endl;
return 0;
}
示例5: main
int main(int argc, char const *argv[])
{
MyQueue<int> q;
for(int i = 0; i < 10; i++)
{
q.push(i);
}
cout<<q.front()<<" "<<q.rear()<<endl;
q.pop();
cout<<q.front()<<" "<<q.rear()<<endl;
q.push(11);
cout<<q.front()<<" "<<q.rear()<<endl;
return 0;
}
示例6: main
int main()
{
MyQueue mq;
mq.push(1);
mq.push(2);
cout << mq.pop() << endl;
mq.push(3);
cout << mq.pop() << endl;
cout << mq.pop() << endl;
system("pause");
return 0;
}
示例7: imageParsing
/* This function takes a picture and make from it filled grid. Each element of
* grid is image`s pixel. Grid is filled with boolean values. If it is a black
* point, it will be marked as true, other - false.
*/
void imageParsing(string fileName) {
string fileAdress = "images/";
fileAdress = fileAdress + fileName;
GBufferedImage image;
image.load(fileAdress);
pixels.resize(image.getWidth(), image.getHeight());
for (int column = 0; column < image.getWidth(); column++) {
for (int row = 0; row < image.getHeight(); row++) {
if (image.getRGB(column, row) <= GREY) {
pixels.set(column, row, true);
} else {
pixels.set(column, row, false);
}
}
}
for (int column = 0; column < pixels.nCols; column++) {
for (int row = 0; row < pixels.nRows; row++) {
if (pixels.inBounds(column, row) && pixels.get(column, row) == true) {
pixels.set(column, row, false);
Points blackPoint = makePoint(column, row);
checkAllNeighbours.push(blackPoint);
detectingSilouettes(pixels);
}
}
}
}
示例8: test2
void test2()
{
MyQueue<int> que;
for (int i = 0; i < 5; i++)
{
que.push(i);
}
//empty()
cout << "empty = " << que.empty() << endl;
//
//pop()
que.pop();
que.pop();
que.pop();
//back()
int temp_back = que.back();
cout << "temp_back = " << temp_back << endl;
//front()
int temp_front = que.front();
cout << "temp_front = " << temp_front << endl;
}
示例9: main
int main() {
MyQueue<int> que;
que.push(1);
que.push(2);
que.push(3);
que.push(4);
while(que.size() != 0) {
cout<<que.pop()<<" ";
}
que.push(5);
que.push(6);
while(que.size() != 0) {
cout<<que.pop()<<" ";
}
cout<<endl;
que.pop();
return 0;
}
示例10: main
int main() {
MyQueue q;
int t, type, data;
cin >> t;
for (int i = 0; i < t; i++) {
cin >> type;
if (type == 1) {
cin >> data;
q.push(data);
} else if (type == 2) {
示例11: main
int main(int argc,char*argv[]){
MyQueue mq;
for(int i=1;i<=5;++i)
mq.push(i);
for(int i=1;i<=6;++i){
cout << "front: " << mq.front() << endl;
cout << "back: " << mq.back() << endl;
mq.pop();
}
return 0;
}
示例12: main
int main() {
MyQueue mq;
mq.push(1);
mq.push(2);
mq.push(3);
mq.push(4);
mq.push(5);
mq.push(6);
cout << "size: " << mq.size() << endl;
cout << "peek: " << mq.peek() << endl;
cout << mq.pop() << endl;
cout << mq.pop() << endl;
mq.push(100);
cout << mq.pop() << endl;
cout << mq.pop() << endl;
cout << mq.pop() << endl;
cout << mq.pop() << endl;
cout << mq.pop() << endl;
}
示例13: C3Q5
int C3Q5()
{
MyQueue mq;
int pushArray[3] = { 10, 6, 3 };
int pullArray[3] = { 8, 4, 7 };
for (int i = 0; i < 3; i++) {
for (int j = 0; j < pushArray[i]; j++) {
mq.push(j);
//printf("push %d into queue", j);
}
for (int j = 0; j < pullArray[i]; j++) {
printf("pull %d out\n", mq.pull());
}
}
return 0;
}
示例14: main
int main()
{
MyQueue *q;
int n, m;
int i;
char s[20];
int val;
while (scanf("%d%d", &n, &m) == 2) {
q = new MyQueue(m);
for (i = 0; i < n; ++i) {
scanf("%s", s);
if (strcmp(s, "Push") == 0) {
scanf("%d", &val);
if (q->full()) {
printf("failed\n");
} else {
q->push(val);
}
} else if (strcmp(s, "Pop") == 0) {
if (q->empty()) {
printf("failed\n");
} else {
q->pop();
}
} else if (strcmp(s, "Query") == 0) {
scanf("%d", &val);
if (val < 1 || val > q->size()) {
printf("failed\n");
} else {
printf("%d\n", q->front(val));
}
} else if (strcmp(s, "Isempty") == 0) {
printf(q->empty() ? "yes\n" : "no\n");
} else if (strcmp(s, "Isfull") == 0) {
printf(q->full() ? "yes\n" : "no\n");
}
}
delete q;
}
return 0;
}
示例15: detectingSilouettes
/* This function takes filled grid with boolean values. Black points are marked
* as true, other - as false. If number of neighbour black points more than
* const MIN_SILOUETTES_SIZE, such area is marked is silouette.
* Function returns the number of silouettes.
*/
void detectingSilouettes(Grid<bool> &pixels) {
int countBlackPoints;
while (!checkAllNeighbours.empty()) {
Points buffer = checkAllNeighbours.front();
checkAllNeighbours.pop();
for (int x = buffer.column - 1; x <= buffer.column + 1; x++) {
for (int y = buffer.row - 1; y <= buffer.row + 1; y++) {
if (pixels.inBounds(x, y) && pixels.get(x, y) == true) {
countBlackPoints++;
Points blackPoint = makePoint(x, y);
pixels.set(x, y, false);
checkAllNeighbours.push(blackPoint);
}
}
}
}
if (countBlackPoints >= MIN_SILOUETTES_SIZE) {
countSilouettes++;
countBlackPoints = 0;
}
}