不知道怎么初始化下面的程序

qianping314 2007-04-28 11:45:03
#include<iostream.h>

class JobNode{
friend void Greedy(JobNode *,int,int);
friend void main(void);
public:
operator int() const{return time;}
private:
int ID,time;};


class MachineNode{
friend void Greedy(JobNode *,int,int);
public:
operator int() const{return avail;}
private:
int ID,avail;
};

template <class Type>
void Greedy(Type a[],int n,int m)
{
if(n<=m){
cout<<"为每个作业分配一台机器!"<<endl;
return;}
Sort(a,n);

MinHeap<MachineNode> H(m);
MachineNode x;
for(int i=1;i<=m;i++)
{
x.avail=0;
x.ID=i;
H.Insert(x);
}
for(int i=n;i>=1;i--)
{ H.DeleteMin(x);
cout<<"将机器"<<x.ID<<"从"<<x.avail<<"到"<<(x.avail+a[i].time)
<<"的时间段分配给作业"<<a[i].ID<<endl;
x.avail+=a[i].time;
H.Insert(x);
}
}
不知道怎么给这个程序写main函数,以前没见到过!
...全文
229 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Generics 2007-04-30
  • 打赏
  • 举报
回复
首先缺几个函数的定义.

void main(void)
{
// n是机器数
// m是作业数
// n>m
int n=5, m=3;
JobNode mn[5];
// 在这里给mn[5]设置ID和time
// 因为是友元函数, 所以可以设置JobNode的私有成员
Greedy(mn, 5, 3);
return;
}
qianping314 2007-04-30
  • 打赏
  • 举报
回复
这样根本不算是初始化的吧?
根本就没有调用到那个模板,这样的空main函数又有什么意义?
yoyo_alex_lw 2007-04-28
  • 打赏
  • 举报
回复
void main()
{}
qianping314 2007-04-28
  • 打赏
  • 举报
回复
看了,感觉还是不懂。
能不能写个参考程序出来?
jixingzhong 2007-04-28
  • 打赏
  • 举报
回复
看看 C++模板
yuyunliuhen 2007-04-28
  • 打赏
  • 举报
回复
#include<iostream>
using namespace std;

class JobNode{
friend void Greedy(JobNode *,int,int);
friend void main(void);
public:
operator int() const{return time;}
private:
int ID,time;
};


class MachineNode{
friend void Greedy(JobNode *,int,int);
public:
operator int() const{return avail;}
private:
int ID,avail;
};

template <class Type>
void Greedy(Type a[],int n,int m)
{
if(n<=m){
cout<<"为每个作业分配一台机器!"<<endl;
return;}
Sort(a,n);

MinHeap<MachineNode> H(m);
MachineNode x;
for(int i=1;i<=m;i++)
{
x.avail=0;
x.ID=i;
H.Insert(x);
}
for(int i=n;i>=1;i--)
{ H.DeleteMin(x);
cout<<"将机器"<<x.ID<<"从"<<x.avail<<"到"<<(x.avail+a[i].time)
<<"的时间段分配给作业"<<a[i].ID<<endl;
x.avail+=a[i].time;
H.Insert(x);
}
}
void main()
{
//...............................
}

65,212

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧