栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

数组实现单双链表的快速操作[时间复杂度为O(1)]

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数组实现单双链表的快速操作[时间复杂度为O(1)]

826. 单链表 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/828/

#include 
using namespace std;

const int N = 1e5+10;
int e[N],ne[N],head,idx;

int main()
{
    int n,k,x;
    char op;
    
    head = -1, idx = 0;
    cin >> n;
    while (n -- )
    {
        cin >> op;
        if(op == 'H'){
            cin >> x;
            e[idx] = x;
            ne[idx] = head;
            head = idx;
            idx ++;
        }else if(op == 'D'){
            cin >> k;
            if(!k) head = ne[head];
            else ne[k-1] = ne[ne[k-1]];
        }else if(op == 'I'){
            cin >> k >> x;
            e[idx] = x;
            ne[idx] = ne[k-1];
            ne[k-1] = idx;
            idx ++;
        }
    }
    
    for(int i = head;i != -1; i=ne[i]) cout << e[i] << ' ';
    return 0;
}

827. 双链表 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/description/829/

#include 
using namespace std;

const int N = 1e5+10;
int l[N],r[N],e[N],head,idx;

void insert(int k, int x)
{
    e[idx] = x;
    l[idx] = k, r[idx] = r[k];
    l[r[idx]] = idx, r[k] = idx++;
}

void del(int k)
{
    l[r[k]] = l[k];
    r[l[k]] = r[k];
}
int main()
{
    int n,k,x;
    cin >> n;
    string op;
    
    l[1] = 0,r[0] = 1;
    idx = 2;
    while (n -- )
    {
        cin >> op;
        if(op == "L"){
            cin >> x;
            insert(0, x);
        }
        else if(op == "R"){
            cin >> x;
            insert(l[1], x);
        }
        else if(op == "D"){
            cin >> k;
            del(k+1);
        }
        else if(op == "IL"){
            cin >> k >> x;
            insert(l[k+1], x);
        }
        else if(op == "IR"){
            cin >> k >> x;
            insert(k+1, x);
        }
    }
    
    for (int i = r[0]; i != 1; i=r[i]) cout << e[i] << ' ';
    return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/312432.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号