当前位置: 首页>>代码示例>>C++>>正文


C++ MyQueue::push方法代码示例

本文整理汇总了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));
                }
            }
        }
    }
}
开发者ID:shpp-achudinovskyh,项目名称:cs-b,代码行数:37,代码来源:silcounter.cpp

示例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;
}
开发者ID:LarryJ,项目名称:CTCI,代码行数:10,代码来源:3_5.cpp

示例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;
}
开发者ID:homano,项目名称:cracking_coding_interview_cpp,代码行数:11,代码来源:3_5-MyQueue.cpp

示例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;
}
开发者ID:hezudaopp,项目名称:algorithm_datastructure,代码行数:12,代码来源:career_cup_3_5.cpp

示例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;
}
开发者ID:starcroce,项目名称:ctci_4_and_5,代码行数:14,代码来源:ctci_3_5.cpp

示例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;
}
开发者ID:shineyr,项目名称:Offer2016,代码行数:14,代码来源:8.3.5+myQueue.cpp

示例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);
            }
        }
    }
}
开发者ID:shpp-mpetlyuk,项目名称:2-Silhouettes,代码行数:30,代码来源:2-Silhouettes.cpp

示例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;
}
开发者ID:xiaohuaiOS,项目名称:code_c,代码行数:29,代码来源:main.cpp

示例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;
}
开发者ID:chang-yu0928,项目名称:algorithms,代码行数:18,代码来源:StackQueue.cpp

示例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) {
开发者ID:ulisesmx,项目名称:exercises,代码行数:10,代码来源:stack_queue.cpp

示例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;
}
开发者ID:wyxmails,项目名称:MyCode,代码行数:11,代码来源:03.05.cpp

示例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;
}
开发者ID:TovrikTheThird,项目名称:InterviewPractice,代码行数:21,代码来源:3_4.cpp

示例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;
}
开发者ID:lbl1985,项目名称:cc150,代码行数:19,代码来源:C3Q5.cpp

示例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;
}
开发者ID:ee08b397,项目名称:jobduoj,代码行数:43,代码来源:JD1415(AC).cpp

示例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;
    }
}
开发者ID:shpp-mpetlyuk,项目名称:2-Silhouettes,代码行数:26,代码来源:2-Silhouettes.cpp


注:本文中的MyQueue::push方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。