首页 >资讯参考 > > 正文

数据结构背包问题实验报告(数据结构背包问题)-天天热推荐

发布日期:2023-07-06 12:01:34 来源:互联网 分享


(资料图片)

导读 大家好,小福来为大家解答以上的问题。数据结构背包问题实验报告,数据结构背包问题这个很多人还不知道,现在让我们一起来看看吧!1、#includ...

大家好,小福来为大家解答以上的问题。数据结构背包问题实验报告,数据结构背包问题这个很多人还不知道,现在让我们一起来看看吧!

1、#include #define N 6int main(){//从N个背包(每个背包中w[k])中选取总重为T的背包,共有多少种选法 int w[N]={1,8,3,4,5,2}; //6个背包 int T=10; //总重 int k=0; int i=0; int j=1; struct stacks{ //栈 int s[N]; int top; } the_stack;//初始化栈 for(i=0;i0&&k=w[k]){ //符合条件的背包进栈 the_stack.s[the_stack.top++]=k; T-=w[k]; } k++; //不符合则考察下一个背包 } if(T==0){ //找到一种方法,输出 printf("------------Answer%d------------",j); for(i=0;i

2、则前一个入栈的背包出栈,继续考察下一个背包 the_stack.s[the_stack.top]=0; T+=w[k]; k++; }while(!(the_stack.top==0&&k==N)); //当栈空且k==N时,所有可能的组合都考察完毕。

3、推出循环}运行结果:------------Answer1------------0[1] 2[3] 3[4] 5[2]------------Answer2------------0[1] 3[4] 4[5]------------Answer3------------1[8] 5[2]------------Answer4------------2[3] 4[5] 5[2]。

本文到此分享完毕,希望对大家有所帮助。

免责声明:本文由用户上传,如有侵权请联系删除!

标签:

Copyright ©  2015-2022 北方兽药网版权所有  备案号:京ICP备2021034106号-50   联系邮箱: 55 16 53 8@qq.com