求助!全WA
查看原帖
求助!全WA
1215680
lithuim楼主2023/12/3 08:52
#include<iostream>
using namespace std;

struct number {
    int num;
    number* next;
};
void print(number* head)
{
    number* p = head;
    while (p->next != nullptr)
    {
        p = p->next;
        cout << p->num << " ";
    }
    cout << endl;
}
number* search(number* head,int n)
{
    
    number* p = head->next;
    while (p != nullptr)
    {
        if (p->num == n)
        {
            if (p->next == nullptr)
            {
                cout << 0 << endl;
            }
            else
            {
                cout << p->next->num << endl;
            }
        }
        p = p->next;
    }
    return nullptr;
}
void insert(number* head, int x, int n)
{
    number* newpart = new number;
    newpart->num = n;
    newpart->next = nullptr;

    number* p = head;
    while (p->next != nullptr)
    {
        if (p->next->num == n)
        {
            newpart->next = p->next->next;
            p->next->next = newpart;
            break;
        }
        p = p->next;
    }
}
void thedelete(number* head, int n)
{
    number* p = head;
    while (p->next != nullptr)
    {
        if (p->next->num == n)
        {
            number* temp = p->next;
            p->next = p->next->next;
            delete temp;
            break;
        }
        p = p->next;
    }
}
int main() 
{
    int count;
    cin >> count;
    number* head = new number;
    number* p=nullptr, * newpart=nullptr;
    while (count)
    {
        int op;
        cin >> op;
        if (op == 1)
        {
            int n, x;
            cin >> n >> x;
            insert(head, x, n);
            print(head);
        }
        else if (op == 2)
        {
            int n;
            cin >> n;
            search(head,n);
        }
        else if (op== 3)
        {
            int n;
            cin >> n;
            thedelete(head, n);
            print(head);
        }

            op--;
   }
    return 0;
}
2023/12/3 08:52
加载中...