zy p

本文提供了多个C++程序设计实例,包括2D和3D点类的定义与使用、链表操作、队列管理和双端队列应用等,涵盖了类继承、容器操作等方面的知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

</pre><pre name="code" class="cpp">#include<bits/stdc++.h>
using namespace std;
class Point{
private:
    double x_,y_;
public:
    Point():x_(0),y_(0) {}
    Point(double x,double y):x_(x),y_(y) {}
    double setx() { return x_; }
    double sety() { return y_; }
    void showPoint(){
        cout<<"2D Point ("<<x_<<","<<y_<<")\n";
    }
};
class Point_3D:public Point
{
private:
        double z_;
public:
    Point_3D():Point(),z_(0) {}
    Point_3D(double a,double b,double c):Point(a,b),z_(c) {}
    void showPoint(){
        cout<<"3D Point ("<<setx()<<","<<sety()<<","<<z_<<")\n";
    }
};


#include<bits/stdc++.h>
using namespace std;
class Point{
private:
    double x_,y_;
    static int tol;
public:
    Point():x_(0),y_(0) {tol++;}
    Point(double x,double y):x_(x),y_(y) {tol++;}
    double x() { return x_; }
    double x(int x) { return x_=x; }
    double y() { return y_; }
    double y(int y) { return y_=y; }
    void showPoint(){
        cout<<"2D Point ("<<x_<<","<<y_<<")\n";
    }
    static int showNumber(){ return tol; }
};
class Point_3D:public Point
{
private:
        double z_;
        static int tol_3;
public:
    Point_3D():Point(),z_(0) {tol_3++;}
    double z() { return z_; }
    double z(int z) { return z_=z; }
    Point_3D(double a,double b,double c):Point(a,b),z_(c) {tol_3++;}
    void showPoint(){
        cout<<"3D Point ("<<x()<<","<<y()<<","<<z_<<")\n";
    }
    void setPoint(double a,double b,double c){
        x(a); y(b); z_=c;
    }
    static int showNumber(){
        return tol_3;
    }
};
int Point::tol(0);
int Point_3D::tol_3(0);

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    while(cin>>n){
        list<int> L;
        list<int> ::iterator it;
        for(int i=0;i<n;i++){
            int k;
            cin>>k;
            L.push_back(k);
        }
        int m;
        cin>>m;
        while(m--){
            int a;
            cin>>a;
            if(a==1){
                int c,d;
                cin>>c>>d;
                it=find(L.begin(),L.end(),c);
                if(it!=L.end()) L.insert(++it,d);
            }
            else if(a==2){
                int k;
                cin>>k;
                for(it=L.begin();it!=L.end();){
                    if(*it<=k) L.erase(it++);
                    else it++;
                }
            }
            else if(a==3){
                int i,j;
                cin>>i>>j;
                it=find(L.begin(),L.end(),j);
                if(it!=L.end()) L.remove(i);
                it=find(L.begin(),L.end(),j);
                if(it!=L.end()){
                    L.insert(++it,i);
                }
            }
            else continue;
        }
        for(it=L.begin();it!=L.end();it++){
            if(it==L.begin()) cout<<*it;
            else cout<<" "<<*it;
        }
        cout<<endl;
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,m;
    while(cin>>n>>m){
        queue<int> q[10001];
        while(m--){
            string s;
            cin>>s;
            if(s=="INIT"){
                queue<int> p[10001];
                swap(q,p);
            }
            if(s=="PUSH"){
                int a,b;
                cin>>a>>b;
                q[a].push(b);
            }
            if(s=="POP"){
                int id;
                cin>>id;
                if(!q[id].empty())
                {
                    cout<<q[id].front()<<endl;
                    q[id].pop();
                }
                else cout<<"NULL"<<endl;
            }
        }
    }
    return 0;
}

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int m,n,i,id,val,t;
    string s;
    queue<int> q[10010];
    while(cin>>n>>m)
    {
 
        while(m--)
        {
            cin>>s;
            if(s=="INIT")
            {
                queue<int> p[10010];
                swap(p,q);
            }
            if(s=="PUSH")
            {
                cin>>id>>val>>t;
                while(t--)
                q[id].push(val);
            }
            if(s=="POP")
            {
                cin>>id>>t;
                for(i=1;i<=t;i++)
                {
                    if(q[id].empty())
                    cout << "NULL" << endl;
                    else
                   {
                    cout << q[id].front() << endl;
                    while(t--)
                    q[id].pop();
                   }
                }
            }
        }
    }
}

#include<bits/stdc++.h>
using namespace std;
int main()
{
   int n,m;
   cin>>n;
   deque<string> q;
   while(n--){
    cin>>m;
    if(m==1){
        string s;cin>>s;
        q.push_back(s);
    }
    if(m==2){
        string s;
        cin>>s;
        q.push_back(s);
    }
    if(m==3){
        if(!q.empty()){
            cout<<q.back()<<endl;
        }else cout<<-1<<endl;
    }
    if(m==4){
        if(q.empty()) cout<<-1<<endl;
        else cout<<q.front()<<endl;
    }
    if(m==5){
        if(q.empty()){
            cout<<-1<<endl;
        }else q.pop_back();
    }
    if(m==6){
        if(q.empty()) cout<<-1<<endl;
        else q.pop_front();
    }
    if(m==0) q.clear();
   }
    return 0;
}

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int N;
    cin>>N;
    string s;
    queue<string> q;
    while(N--){
        int m;
        cin>>m;
        if(m==1) {
            cin>>s;
            q.push(s);
        }
        if(m==2){
            if(!q.empty()){
                cout<<q.front()<<endl;
                q.pop();
            }
            else cout<<-1<<endl;
        }
        if(m==3) {
            queue<string> tmp;
            swap(q,tmp);
        }
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值