#include<iostream>
#include<list>
using namespace std;
void Output(list<int> PCB_list) {
    cout<<"ID of process in queue is:"<<endl;
    for(int x : PCB_list) cout<<x<<' ';
    cout<<'\n';
}
int main() {
    list<int> PCB_list;
    cout<<"Please input PID in order, end with -1 : \n";
    int x;
    while(cin>>x,x!=-1) PCB_list.push_back(x);
    Output(PCB_list);
    cout<<"Please enter the process number you want to delete, end with -1 : \n";
    while(cin>>x,x!=-1) PCB_list.remove(x);
    Output(PCB_list);
    return 0;
}

应要求强化了一下

#include <algorithm>
#include <iostream>
#include <list>
using namespace std;
void Output(list<int> a) {
    cout << "ID of process in queue is:" << endl;
    for (int x : a) cout << x << ' ';
    cout << endl;
}
int main() {
    list<int> PCB_list;
    cout << "Please input PID in order, end with -1 : \n";
    int x;
    while (cin >> x, x != -1) {
        if (PCB_list.empty())
            PCB_list.push_back(x);
        else {
            if (find(PCB_list.begin(), PCB_list.end(), x) == PCB_list.end())
                PCB_list.push_back(x);
            else
                cout << "Error: PID existing" << endl;
        }
        Output(PCB_list);
    }
    cout << "Please input PID you want to insert in front, end with -1 : \n";
    while (cin >> x, x != -1) {
        if (find(PCB_list.begin(), PCB_list.end(), x) == PCB_list.end())
            PCB_list.push_front(x);
        else
            cout << "Error: PID existing" << endl;
        Output(PCB_list);
    }
    cout << "Please enter the process number you want to delete, end with -1 : "
         << endl;
    while (cin >> x, x != -1) {
        if (find(PCB_list.begin(), PCB_list.end(), x) != PCB_list.end())
            PCB_list.remove(x);
        else
            cout << "Error: PID does not exist" << endl;
        Output(PCB_list);
    }
    return 0;
}