⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1999.cpp

📁 这是哈尔滨工业大学acmOJ的源代码
💻 CPP
字号:
/*  This Code is Submitted by wywcgs for Problem 1999 on 2005-09-22 at 22:24:03 */ 
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

class LinkedList {
    public:
    LinkedList *before;
    LinkedList *next;
    long value;
    LinkedList* add(LinkedList *list) {
        LinkedList *p = this, *f = this;
        bool isMax = false;
        while(list->value > p->value) {
            if(p->next != NULL) {
                p = p->next;
            } else {
                isMax = true;
                break;
            }        
        }
        if(!isMax) {
            if(p->before != NULL) {
                p->before->next = list;
                list->before = p->before;
            } else {
                f = list;
            }
            p->before = list;
            list->next = p;
        } else {
            p->next = list;
            list->before = p;
        }
        return f;
    }
    LinkedList* del() {
        LinkedList *f = this->next;
        if(this->next != NULL) {
            this->next->before = NULL;
        }
        return f;
    }    
    LinkedList(long va) {
        before = NULL;
        next = NULL;
        value = va;
    }
};

int main()
{
    LinkedList *first = NULL, *list;
    char order[10];
    long T, i, value;
    
    scanf("%ld", &T);
    for(i = 0; i < T; i++) {
        scanf("%s", order);
        if(!strcmp(order, "add")) {
            scanf("%ld", &value);
            if(first == NULL) {
                first = new LinkedList(value);
            } else {
                list = new LinkedList(value);
                first = first->add(list);
            }
        } else if(!strcmp(order, "query")) {
            if(first != NULL) {
                printf("%ld\n", first->value);
            }
        } else if(!strcmp(order, "delete")) {
            if(first != NULL) {
                first = first->del();
            }    
        }    
    }
    
    return 0;    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -