資源簡介
本程序能按照剩余空間最小的原則得出最優(yōu)三維裝箱順序。
代碼片段和文件信息
#include?
#include
#define?null?NULL?
#define?V?10
typedef?struct{??//物品信息的結(jié)構(gòu)體?
int?go;????//編號?
int?gv;?????//體積?
}GOODS;
?
typedef?struct?Gnode{????//?物品節(jié)點?
int?gnum;?????//?掛在鏈上的編號?
????struct?Gnode?*link; ?//指向下一個物品節(jié)點?
}GNODE;
?
typedef?struct?Gbox{???//?箱子結(jié)構(gòu)體?
int?reminder;?????//剩余空間?
GNODE?*head;?????//?指向物品節(jié)點的第一個節(jié)點?
struct?Gbox?*next;
}GBOX;
?
void?sortvolume(GOODS?*goodsint?n){??//排序?
int?ij;
GOODS?t;
for(i=0;i ??for(j=i;j ?????if(goods[i].gv ?{
? t=goods[i];
? goods[i]=goods[j];
? goods[j]=t;
?}??
}
?
GBOX?*packingbox(GOODS?*goodsint?n){??//具體實現(xiàn)裝箱?
int?i;
GBOX?*hb=null*ht*p;
GNODE??*newg*q;
for(i=0;i
???newg=(GNODE*)malloc(sizeof(GNODE));
???newg->gnum=goods[i].go;
???newg->link=null;
?
??for(p=hb;p&&p->remindernext);?//p停下來時一定的總是開辟新箱子,分號注意?
??
?? if(!p)
????{
?? ?p=(GBOX?*)malloc(sizeof(GBOX));
?? ?p->head=null;
評論
共有 條評論