zoukankan      html  css  js  c++  java
  • qqq

    //时间轮转最多 轮转
    #include<iostream>
    #include<queue>
    using namespace std;
    struct node
    {
        friend bool operator< (node n1, node n2)
        {
            if(n1.t1<n2.t1)
       return false;
      if(n1.t1==n2.t1)
      {
       if(n1.t2<n2.t2)
        return true;
       if(n1.t2>n2.t2)
        return false;
      }
      return true;
        }
        int t1;//作业的到达时间
        int t2;//作业的运行时间
     int p;//进程的优先级
     char name[10];
    };
    struct Process//进程结构体
    {
     char name[10];
     int t;//运行时间
     int p;//进程优先级
     bool s;//进程的状态
     Process *next;
    };
    int clock;
    int sum;//当前的进程的数量
    priority_queue<node> q;
    void creat_work()//作业随机产生随机个数的作业
    {
     int x=(rand()%10);
     while(x--)
     {
      clock=(clock+1)%1000;
      node work;

      work.name[0]=(rand()%128);
      work.name[1]=(rand()%128);
      work.name[2]=(rand()%128);
      work.name[3]=(rand()%128);

      work.t1=(rand()%1000);
      work.t2=(rand()%1000);
      work.p=(rand()%1000);
      clock+=3;
      clock%=1000;
      q.push(work);
     }
    }
    void creat_process(Process *&H)//尾查法产生进程  此时表明当前队首的作业在时间上能够被运行  每取出一个作业运行
    {
     Process *l=H;
     while(l->next!=H)
      l=l->next;
     node work=q.top();
     q.pop();

     int p_n=(rand()%2);
     
     for(int i=0;i<=p_n;i++)
     {
      Process *p=new(Process);
      strcpy(*p->name,work.name);
      *p->name[4]='_';
      *p->name[5]=i+'0';
      *p->t=work.t2;
      *p->p=work.p;
      l->next=p;
     }
     l->next->next=H;
    }
    int main()
    {
     Process *H=NULL;//定义进程队列
     H->next=NULL;
        creat_work();//产生作业
     clock=0;
     sum=0;
     creat_process(H);//产生进程;
     


     return 0;

    }

  • 相关阅读:
    cf3b(贪心)
    cf4b
    poj 1037(经典dp)
    网络流之SAP算法学习
    cf3d
    hdu 1572(dfs+最短路)
    hdu 1735(贪心)
    Elementary Methods in Number Theory Exercise 1.5.10
    Elementary Methods in Number Theory Exercise 1.5.12
    Elementary Methods in Number Theory Exercise 1.5.10
  • 原文地址:https://www.cnblogs.com/zhangdashuai/p/4516750.html
Copyright © 2011-2022 走看看