链表求助
  • 板块灌水区
  • 楼主Floating_Trees
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/5/13 21:06
  • 上次更新2024/5/14 09:06:24
查看原帖
链表求助
953181
Floating_Trees楼主2024/5/13 21:06

rt

#include <bits/stdc++.h>
#define ll long long
#define endl '\n'

using namespace std;

struct list_node
{
    int d, id;
    list_node *nxt = nullptr, *pre = nullptr;
    list_node(int _d, int _id) : d(_d), id(_id) {}
    list_node(int _d, int _id, list_node *_nxt, list_node *_pre) : d(_d), id(_id), nxt(_nxt), pre(_pre) {}
};
struct list_node head;

void input()
{
    int n, x;
    cin >> n >> x;
    list_node p;
    p = head = list_node(x, 1);
    for (int i = 2; i <= n; i++)
    {
        cin >> x;
        list_node _new = list_node(x, i, nullptr, p);
        p->nxt = _new;
        p = _new;
    }
}

void solve()
{
    int x, y, in;
    cin >> x >> y >> in;
    for (list_node k = head; k->nxt; k = k->nxt)
    {
        if (k.id == x)
        {
            list_node _new = list_node(in, 0, k->nxt, k);
            k->nxt = _new;
            k->nxt->pre = _new;
        }
    }
    for (list_node k = head; k->nxt; k = k->nxt)
    {
        if (k.id == y)
        {
            k->pre->nxt = k->nxt;
            k->nxt->pre = k->pre;
        }
    }
}

void output()
{
    for (list_node k = head; k->nxt; k = k->nxt)
        cout << k.d << " ";
}

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    input();
    solve();

    return 0;
}
2024/5/13 21:06
加载中...