貪婪演算法求出的最終解不一定是最優解
儲存形式:鍊錶
型別宣告
1.排序物品體積時物品的型別
typedef
struct
elemg;
2.裝箱時物品的型別
typedef
struct nodegoodslink;
3.箱子節點
typedef
struct boxebox;
2.把所有物品體積按照降序的順序排序elemg*
init_goods()
;//物品的體積
elemg *g;
g =(elemg *
)malloc
((n)
*sizeof
(elemg));
//儲存物品的陣列
for(
int i=
0;i)return g;
}
3.裝箱//將儲存物品的進行降序排序 (使用快排)
void
goodssort
(elemg *g,
int left,
int right)
else
while
(base <= g[i]
.gv && i
if(i < j)
} temp = g[left]
; g[left]
= g[i]
; g[i]
= temp;
goodssort
(g,left,i-1)
;goodssort
(g,i+
1,right);}
}
4.輸出ebox*
load
(elemg* g)
else
}else
a->link = gl;}}
return hbox;
}
//輸出
void
(ebox* hbox)
printf
("\n");
p = p->next;
}}
貪婪演算法實現裝箱
貪婪演算法實現裝箱操作 public class test 裝箱函式 public void putthehuowu huowu h int num 1 box box null for int i 0 i h.length i boolean isok false box currentbox b...
演算法訓練 裝箱問題
問題描述 有乙個箱子容量為v 正整數,0 v 20000 同時有n個物品 0 n 30 每個物品有乙個體積 正整數 要求n個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。輸入格式 第一行為乙個整數,表示箱子容量 第二行為乙個整數,表示有n個物品 接下來n行,每行乙個整數表示這n個物品的各自體積...
演算法訓練 裝箱問題
問題描述 有乙個箱子容量為v 正整數,0 v 20000 同時有n個物品 0 n 30 每個物品有乙個體積 正整數 要求n個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。輸入格式 第一行為乙個整數,表示箱子容量 第二行為乙個整數,表示有n個物品 接下來n行,每行乙個整數表示這n個物品的各自體積...