#include<stdio.h>
#include<iostream>
using namespace std;
#include<time.h>
#include<stdlib.h>
#define random(x) (rand()%x)
typedef struct {
int key; //以Ai还是Bi作为关键字排序
bool job;//标志是Ai>Bi还是Ai<Bi型,从而分别归在N1或N2集合中
int index;//将它作为第index个作业
}JobType;
void BubbleSort(JobType * R,int n)//冒泡排序
{
int i,j;
JobType temp;
bool exchange; //交换标志
for(i = 0;i < n;i ++){ //最多做n-1趟排序
exchange = false; //本趟排序开始前,交换标志应为假
for(j = n - 1;j >= i;j --)
if(R[j+1].key < R[j].key){
temp = R[j+1];
R[j+1] = R[j];
R[j] = temp;
exchange=true; //发生了交换,故将交换标志置为真
}
if(!exchange) //本趟排序未发生交换,提前终止算法
return;
}
}
int FlowShop(int n, int *a, int *b, int *c)
//n为作业数,a、b为数组,分为放n个作业在机器M1和M2上执行的时间,c数组存放最优流水次序
{
JobType d[4];
for (int i=0; i<n; i++) {
d[i].key = a[i]>=b[i] ? b[i] :
动态规划解决流水作业调度(Johnson法则)
最新推荐文章于 2023-06-04 11:12:46 发布