C++ 优先级队列和结构 #包括 #包括 使用名称空间std; 结构调用 { 调用(int callNum、long callTime、int callLength): CallNum(CallNum)、CallTime(CallTime)、CallLength(CallLength){} int CallNum; 通话时间长; int CallLength; }; bool操作员>(恒速呼叫和左侧、恒速呼叫和右侧){ 返回lhs.CallLength>rhs.CallLength; } ostream&operator

C++ 优先级队列和结构 #包括 #包括 使用名称空间std; 结构调用 { 调用(int callNum、long callTime、int callLength): CallNum(CallNum)、CallTime(CallTime)、CallLength(CallLength){} int CallNum; 通话时间长; int CallLength; }; bool操作员>(恒速呼叫和左侧、恒速呼叫和右侧){ 返回lhs.CallLength>rhs.CallLength; } ostream&operator,c++,struct,priority-queue,C++,Struct,Priority Queue,您是否正在寻找: #include <iostream> #include <queue> using namespace std; struct Call { Call( int callNum, long callTime, int callLength ) : CallNum( callNum ), CallTime( callTime ), CallLength( callLength ) { } int CallNum; long

您是否正在寻找:

#include <iostream>
#include <queue>
using namespace std;
struct Call
{
    Call( int callNum, long callTime, int callLength ) :
    CallNum( callNum ), CallTime( callTime ), CallLength( callLength ) { }
    int CallNum;
    long CallTime;
    int CallLength;
};

bool operator>( const Call& lhs, const Call& rhs ) {
    return lhs.CallLength > rhs.CallLength;
}

ostream& operator<<( ostream& os, const Call& c ) {
    os << c.CallNum << " " << c.CallTime << " " << c.CallLength;
    return os;
}

int main()
{
    priority_queue< Call, vector<Call>, greater<Call> > q; 
    q.push( Call( 1, 200, 150 ));
    q.push( Call( 2, 300, 950 ));
    q.push( Call( 3, 100, 450 ));
    q.push( Call( 4, 150, 320 ));
    unsigned i=0, n=q.size();
    for ( i=0; i<n; ++i ) {
        cout << q.top() << endl;
        q.pop();
    }
}

cout您是否正在寻找:

#include <iostream>
#include <queue>
using namespace std;
struct Call
{
    Call( int callNum, long callTime, int callLength ) :
    CallNum( callNum ), CallTime( callTime ), CallLength( callLength ) { }
    int CallNum;
    long CallTime;
    int CallLength;
};

bool operator>( const Call& lhs, const Call& rhs ) {
    return lhs.CallLength > rhs.CallLength;
}

ostream& operator<<( ostream& os, const Call& c ) {
    os << c.CallNum << " " << c.CallTime << " " << c.CallLength;
    return os;
}

int main()
{
    priority_queue< Call, vector<Call>, greater<Call> > q; 
    q.push( Call( 1, 200, 150 ));
    q.push( Call( 2, 300, 950 ));
    q.push( Call( 3, 100, 450 ));
    q.push( Call( 4, 150, 320 ));
    unsigned i=0, n=q.size();
    for ( i=0; i<n; ++i ) {
        cout << q.top() << endl;
        q.pop();
    }
}

你不能自己写这段代码吗?因为如果你有,我不敢相信你会问这个问题。这段代码是你自己写的吗?因为如果你有,我不敢相信你会问这个问题。