資源簡介
本程序能按照剩余空間最小的原則得出最優三維裝箱順序。
代碼片段和文件信息
#include?
#include
#define?null?NULL?
#define?V?10
typedef?struct{??//物品信息的結構體?
int?go;????//編號?
int?gv;?????//體積?
}GOODS;
?
typedef?struct?Gnode{????//?物品節點?
int?gnum;?????//?掛在鏈上的編號?
????struct?Gnode?*link; ?//指向下一個物品節點?
}GNODE;
?
typedef?struct?Gbox{???//?箱子結構體?
int?reminder;?????//剩余空間?
GNODE?*head;?????//?指向物品節點的第一個節點?
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){??//具體實現裝箱?
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;
- 上一篇:學生作業完成情況管理系統C++含報告
- 下一篇:C語言鏈表完整代碼
評論
共有 條評論