看病候诊(队列)

来源:互联网 发布:微博的网络整合营销 编辑:程序博客网 时间:2024/05/21 17:55
#include<stdio.h>#include<queue>#include<algorithm>using namespace std;class T{public:    int y,z;   T(int b,int c):y(b),z(c)    {    }};bool operator<(const T&t1,const T&t2){    if(t1.z!=t2.z) return t1.z<t2.z;    return t1.y>t2.y;}int main(){    int n,tmp;    priority_queue<T>q;    printf("*****************************\n");    printf("1,新病人入队\n");    printf("2,优先级\n");    printf("3,退出系统\n");    int cnt=1;    for(int i=1;; i++)    {        printf("菜单编号:\n");        scanf("%d",&n);        if(n==3)            break;        else if(n==1)        {            printf("优先级:\n");            scanf("%d",&tmp);            printf("该病人ID为:%d\n",cnt);            q.push(T(cnt,tmp));            cnt++;        }        else if(n==2)        {            if(!q.empty())            {                T t=q.top();                q.pop();                printf("当前诊治病人ID为:%d\n",t.y);            }        }    }    return 0;}


0 0