近似算法—首次适宜法

该算法实现非常简单,思路大概是这模样的:

     定义若干个空箱子,假定箱子的体积有多大,然后把1些货物存在这些箱子里,当第1个箱子存满后,接着寄存第2个箱子,直到货物存完为止,我们来看看这个程序:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int FirstFit(int n , int C, int *s , int *b)
{
int i , j = 0 , k ;
k = 0;
memset(b,0,sizeof(b)/sizeof(b[0]));
for (i = 0; i< n; i ++ ) // 装入第 i 个物品
{
while ((C – b[j])< s[i]) // 查找第 1 个能容纳物品 i的箱子
j ++ ;
b[j] = b[j] + s[i] ;
if(j > k)k = j ;
else k = k ;
}
return k;
}

int main(void)
{
int i,j;
int b[10] = {0};
int s[10] = {10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100} ;
FirstFit(10,100,s,b);
for(i = 0 ; i < 10 ; i++)
{
printf("%d\n",b[i]);
}
return 0 ;
}

运行结果:

100
50
60
70
80
90
100
0
0
0

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » 近似算法—首次适宜法

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡