/******************************************/
/* 贪心法求解背包问题(物体可分割) */
/******************************************/
#include<iostream>
#define N 7
using namespace std;
typedef struct{
float p; // 物体的价值
float w; // 物体的重量
float v; // 物体的价值重量比
} OBJECT;
int main(){
void creat_beibao(OBJECT A[], int n);
void show_v(OBJECT A[], int n);
void bubble_sort(OBJECT A[], int n);
float knapsack_greedy(float M, OBJECT instance[], float x[], int n);
OBJECT * instance = new OBJECT[N]; // 存放n个物体
float * x=new float[N]; // n个物体装入背包的份量
float M = 15; //背包的载重量
creat_beibao(instance, N);
cout <<endl<< "输出七个物体的价值重量比:";
show_v(instance,N);
cout<<endl<<"背包问题的最优解为:" << knapsack_greedy(M,instance,x,N);
cout <<endl<<"七个物体被装入背包的分量为:";
for (int i = 0; i < N; i++)
cout <<x[i]<
背包问题(物体可分割)
最新推荐文章于 2023-04-24 19:19:32 发布