• stl的stack在开发中的应用


     栈有后进先出特点,我们可以用它来暂时保存数据,在画板开发中,我用到了栈来保存用户的每一步操作,当用户点击撤销时可以把图像从栈里面取出,然后恢复。浏览器的前进和后退也是这个原理,只是它保存的是网页罢了。用stl可以轻松使用栈而不用去做复杂的函数定义,看下面的实例,希望通过下面的实例,让大家了解怎么用stl中的stack以及如何使用栈

    #include <graphics.h>
    #include <iostream>
    #include <conio.h>
    #include <stack>
    using namespace std;
    int main()
    {
    stack<IMAGE>s1;
    IMAGE img,hh;
    initgraph(600,600);
    //清屏压栈
    cleardevice();
    getimage(&img,0,0,600,600);
    s1.push(img);
    //画圈压栈
    circle(100,100,50);
    getimage(&img,0,0,600,600);
    s1.push(img);
    getch();
    //画线压栈
    line(1,1,600,600);
    getimage(&img,0,0,600,600);
    s1.push(img);
    getch();
    //清屏
    cleardevice();
    getch();
    //依次出栈
    hh=s1.top();
    putimage(0,0,&hh);
    getch();
    s1.pop();
    hh=s1.top();
    putimage(0,0,&hh);
    getch();
    s1.pop();
    hh=s1.top();
    putimage(0,0,&hh);
    getch();
    s1.pop();
    }
  • 相关阅读:
    BZOJ4383 : [POI2015]Pustynia
    BZOJ4382 : [POI2015]Podział naszyjnika
    BZOJ4381 : [POI2015]Odwiedziny
    BZOJ4380 : [POI2015]Myjnie
    BZOJ4378 : [POI2015]Logistyka
    BZOJ3424 : Poi2013 Multidrink
    BZOJ4367 : [IOI2014]holiday假期
    BZOJ4369 : [IOI2015]teams分组
    BZOJ4421 : [Cerc2015] Digit Division
    BZOJ1315 : Ural1557Network Attack
  • 原文地址:https://www.cnblogs.com/ma6174/p/2277508.html
Copyright © 2020-2023  润新知