文档库 最新最全的文档下载
当前位置:文档库 › 贪心算法-会议安排问题

贪心算法-会议安排问题

#include
using namespace std;
struct meeting
{
int num;
int st;
int et;
int mark;
};
//对会议按照结束时间进行排序
void sort(meeting a[],int n)
{
for(int i=0; i{
int min = a[i].et;
meeting temp;
int index = i;
for(int j=i+1;j{
if(a[j].et < min)
{
min = a[j].et;
index = j;
}
}

temp = a[i];
a[i] = a[index];
a[index]= temp;
}

}
//贪心算法安排会议
int select(meeting b[],int n)
{
int t=0;
int a=0;
for(int i=0;i{
if(b[i].mark==0)
{
b[i].mark=1;
a=i;
cout<<"第"<<++t<<"会场召开的会议为:"<cout<for(int j=i+1;j{
if(b[j].st>=b[a].et&&b[j].mark!=1)
{
b[j].mark=1;
a=j;
cout<}
}
}
}
return t;
}
int main()
{
int n;
cout<<"请输入需要召开多少场会议:"<cin>>n;
meeting *m=new meeting[n];
for(int i=0;i{
cout<<"请输入第"<cin>>m[i].num>>m[i].st>>m[i].et>>m[i].mark;
}
sort(m, n);
cout<<"按照会议结束时间排序后的会议序列为:"<for(int j=0;j{
cout<}
cout<<"共需要"<return 0;

}

相关文档
相关文档 最新文档