zoukankan      html  css  js  c++  java
  • 【poj解题】1028

    stack的应用

    #include<iostream>
    #include<stack>
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    
    #define MAX 128
    
    using namespace std;
    
    stack<char *> back_stack;
    stack<char *> forward_stack;
    
    int main() {
        char raw[MAX];
        char * now;
        char * s;
        now = (char *)malloc(sizeof(char) * 128);
        strcpy(now, "http://www.acm.org/");
        while(1) {
            cin >> raw;
            if(raw[0] == 'Q') {
                break;
            }
            if(raw[0] == 'V') {
                cin >> raw;
                back_stack.push(now);
                s = (char *)malloc(sizeof(char) * MAX);
                strcpy(s, raw);
                now = s;
                printf("%s
    ", s);
                while(!forward_stack.empty()) {
                    forward_stack.pop();
                }
            }
            else if(raw[0] == 'B') {
                if(back_stack.size() == 0) {
                    printf("Ignored
    ");
                }
                else {
                    s = back_stack.top();
                    back_stack.pop();
                    printf("%s
    ", s);
                    forward_stack.push(now);
                    now = s;
                }
            }
            else if(raw[0] == 'F') {
                if(forward_stack.size() == 0) {
                    printf("Ignored
    ");
                }
                else {
                    s = forward_stack.top();
                    forward_stack.pop();
                    printf("%s
    ", s);
                    back_stack.push(now);
                    now = s;
                }
            }
            else {
                ;
            }
        }
        while(back_stack.size() != 0) {
            s = back_stack.top();
            free(s);
            back_stack.pop();
        }
        while(forward_stack.size() != 0) {
            s = forward_stack.top();
            free(s);
            forward_stack.pop();
        }
    	return 0;
    }
    

      

  • 相关阅读:
    用python3实现linux的sed功能
    查找列表中指定的所有元素的位置
    Django分页
    python3中字典的copy
    Python中is和==的区别的
    python3的文件读写模式
    使用python3简单完成购物过程
    python3中str的函数
    第一篇
    《笑傲江湖》传剑摘录 有感而发
  • 原文地址:https://www.cnblogs.com/igloo1986/p/3535898.html
Copyright © 2011-2022 走看看