📄 sjp.txt
字号:
1:时间片
#include "stdafx.h"
#include"iostream.h"
const k=10;
struct node {
int data1,data2,data3;
node *next;
};
node *front=NULL,*rear=NULL;
static int n=0,y=0;
class timesec{
public:
void push(int,int);
void pop();
};
void timesec::push(int d1,int d2)
{
node *p=new node;
p->next=NULL;
p->data1=d1;
p->data2=d2;
p->data3=0;
if(front==NULL)
{front=p,rear=p;}
else
{
rear->next=p;
rear=p;
rear->next=front;
}
++n;
}
void timesec::pop()
{
int i=0,j=0,m=0,data5;
while(n!=0)
{
for(j=0;j<k/n;j++);
if(j>=k/n)j=k/n;
if(j==k/n)
{
front->data3+=k/n;
if(front->data3>front->data2)
front->data3=front->data2;
if(front->data3==front->data2)
{
node *q=new node;
q=front;
data5=y-front->data1+front->data2;
y+=front->data2;
front=front->next;
rear->next=q->next;
delete q;
--n;
cout<<data5<<endl;
}
front=front->next;
rear=rear->next;
j=0;
i++;
}
if(i==n)
{
m++;
//cout<<"第"<<m<<"次循环"<<endl;
i=0;
}
}
}
void main()
{
int i,k;
timesec p;
cin>>k;
int x1,x2;
for(i=0;i<k;i++)
{
cin>>x1>>x2;
p.push(x1,x2);
}
p.pop();
}
2:短作业优先
include "stdafx.h"
#include"iostream.h"
const m=100;
struct node{
int data1;//到达时间;
int data2;//完成时间;
int length;//作业长度;
}a[m];
int i=0;
void push(int d1,int d2,int l)
{
a[i].data1=d1;
a[i].data2=d2;
a[i].length=l;
i++;
}
int pop(int j)
{
int y;
if(j>=m)
return 0;
y=a[j].data2-a[j].data1;
a[j+1].data2+=a[j].data2;
cout<<y<<endl;
return 1;
}
void f()
{
int j,k;node t;
for(j=0;j<i-1;j++)
for(k=0;k<i-j-1;k++)
if(a[k].length>a[k+1].length)
{
t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
}
void main()
{
int x,y,d1,d2,l1,k;
cout<<"输入进程个数:";
cin>>k;
if(k<m)
for(x=0;x<k;x++)
{
cin>>d1>>d2>>l1;
push(d1,d2,l1);
}
f();
for(y=0;y<k;y++)
pop(y);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -