亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言基于貪心算法解決裝箱問題的方法

2020-01-26 13:41:41
字體:
來源:轉載
供稿:網友

本文實例講述了C語言基于貪心算法解決裝箱問題的方法。分享給大家供大家參考,具體如下:

問題描述:

有一些箱子,容量為V,同時有n個物品,每個物品有一個體積(小于等于箱子容量),要求將物品全部裝入箱子中,使占用的箱子數盡量少。

貪心算法中要求每一步的解都是當前步驟中的最優解。原問題的解可以通過一系列局部最優的選擇來達到,這種選擇并不依賴于子問題的解。

算法思想:

1、數據結構

要求求解箱子數目,也就是說不能確定會占用多少個箱子,因此采用鏈表的形式來存儲箱子及其信息。

同時,每個箱子中物品的數目也無法確定,同理采用鏈表來存儲每個箱子中的物品信息。

由此得出數據節點的定義:

typedef struct{  int gno;  int gv;}Goods;typedef struct node{  int gno;  struct node *link;}GNode;typedef struct node1{  int remainder;  GNode * head;  struct node1 * next;}GBox;

2、求解思路

使打開的箱子數盡量少,也就是說每個箱子容積被盡可能多地占用。將物品按照體積降序排列后,再從第一個物品開始,挨個尋找能放下它的箱子,這樣可以保證局部最優。

void GoodsSort(Goods goods[], int n){  int i, j;  Goods t;  for (i = 0; i<n - 1; i++)  {    for (j = i + 1; j<n; j++)    {      if (goods[i].gv<goods[j].gv)      {        t = goods[i];        goods[i] = goods[j];        goods[j] = t;      }    }  }  for (i = 0; i<n; i++)    printf("%d  %d/n", goods[i].gno, goods[i].gv);

排序完成,就可以正式開始裝箱子了。

每次都從第一個箱子開始,查看它的剩余容積還能不能放下當前的物品,能放下最好咯,放不下的話就繼續查看下一個箱子的剩余容量。如果所有的已經打開的箱子都放不下當前的物品,那就只好再打開一個空箱子,把它塞進去。

GBox * GoodsBox(Goods goods[], int n){  GNode *h = NULL, *pg, *t;  GBox *hbox = NULL, *pb, *qb;  int i;  for (i = 0; i<n; i++)/////////////////遍歷貨物信息數組  {    pg = (GNode *)malloc(sizeof(GNode));///////////////分配貨物節點單元    pg->gno = goods[i].gno;    pg->link = NULL;//貨物節點初始化    if (!hbox)//若一個箱子都沒有    {      hbox = (GBox *)malloc(sizeof(GBox));      hbox->remainder = 10;      hbox->head = NULL;      hbox->next = NULL;    }    qb=pb = hbox;//都指向箱子頭    while (pb)//找箱子    {      if (pb->remainder >= goods[i].gv)/////////////////////////////能裝下        break;//找到箱子,跳出while      else      {        qb = pb;        pb = pb->next;//qb是前驅      }    }/////////////////////////////////////遍歷箱子結束    if (pb==NULL)/////////////////////需要新箱子    {      pb = (GBox *)malloc(sizeof(GBox));//分配箱子      pb->head = NULL;      pb->next = NULL;      pb->remainder = 10;//初始體積      qb->next = pb;//前驅指上    }    if (!pb->head)//如果箱子里沒貨    {      pb->head = pg;      t = pb->head;    }    else    {      t = pb->head;      while (t->link) t = t->link;//貨尾 尾插      t->link = pg;    }    pb->remainder -= goods[i].gv;      ////////////////////////////////////裝箱  }  return hbox;

希望本文所述對大家C語言程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品免费播放| 欧美xxxx18国产| 国产精品99久久久久久久久久久久| 精品国产91乱高清在线观看| 丝袜亚洲另类欧美重口| 亚洲精品aⅴ中文字幕乱码| 欧美在线一级视频| 亚州欧美日韩中文视频| 国产精品自拍小视频| 国产亚洲欧美日韩一区二区| 欧美性xxxxx极品| 亚洲三级 欧美三级| 欧美国产亚洲视频| 国产欧美日韩高清| 精品国内产的精品视频在线观看| 91性高湖久久久久久久久_久久99| 亚洲国产小视频| 午夜精品一区二区三区在线| 久久久999国产| 不卡毛片在线看| 中文字幕av一区中文字幕天堂| 亚洲精品一区二区三区不| 国产91精品黑色丝袜高跟鞋| 国产精品偷伦免费视频观看的| 国产成人精品国内自产拍免费看| 国产一区二区三区高清在线观看| 亚洲肉体裸体xxxx137| 92福利视频午夜1000合集在线观看| 91免费视频国产| 成人网页在线免费观看| 欧美专区中文字幕| 亚洲美女av在线| 国产精品久久久久久久久久久久| 欧美成人免费在线视频| 日韩va亚洲va欧洲va国产| 成人黄色在线观看| 国产免费久久av| 国产成人欧美在线观看| 97精品视频在线| 亚洲国产高清福利视频| 97超级碰在线看视频免费在线看| 亚洲欧美日韩区| 午夜精品一区二区三区在线视| 精品视频在线播放| 日韩欧美一区二区在线| 福利微拍一区二区| 美日韩在线视频| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲级视频在线观看免费1级| 欧美疯狂做受xxxx高潮| 日韩电影在线观看免费| 九九热精品视频| 成人精品在线视频| 欧美在线视频免费| 78色国产精品| 欧美超级免费视 在线| 懂色av中文一区二区三区天美| 久久精品国产欧美亚洲人人爽| 欧美在线www| 成人国产在线视频| 青青草原成人在线视频| 欧美超级免费视 在线| 日韩美女视频中文字幕| 久久亚洲欧美日韩精品专区| 8x拔播拔播x8国产精品| 亚洲毛茸茸少妇高潮呻吟| 精品国产31久久久久久| 亚洲直播在线一区| 欧美丝袜美女中出在线| 国产成人中文字幕| 亚洲成色www8888| 日韩精品视频在线播放| 国产丝袜高跟一区| 欧美精品videos性欧美| 欧美精品18videosex性欧美| 亚洲美女免费精品视频在线观看| 欧美视频精品一区| 97碰在线观看| 亚洲国产精品视频在线观看| 亚洲高清福利视频| 日韩美女免费线视频| 亚洲精品永久免费精品| 成人免费观看49www在线观看| 亚洲精品国产品国语在线| 欧美在线视频一区| 午夜精品蜜臀一区二区三区免费| 国产成人精品免高潮费视频| 久久久久久免费精品| 亚洲影影院av| 欧美另类交人妖| 精品久久久一区| 欧美在线视频网站| 欧美大尺度激情区在线播放| 亚洲精品一二区| 国产91色在线免费| 高清在线视频日韩欧美| 97国产在线视频| 91成人在线视频| 亚洲最大福利视频| 日韩成人激情视频| 日韩在线小视频| 欧美成aaa人片免费看| 91黑丝高跟在线| 亚洲人成网7777777国产| 欧美性猛xxx| 久久成人在线视频| 亚洲激情自拍图| 国产亚洲欧美一区| 日韩高清不卡av| 久久亚洲影音av资源网| 亚洲黄色成人网| 亚洲精品一区在线观看香蕉| www国产91| 成年人精品视频| 久久久久久91香蕉国产| 久久久久久久一区二区| 国产亚洲精品久久久久动| 久久夜色精品亚洲噜噜国产mv| 亚洲性视频网址| 日韩在线视频观看| 日本免费在线精品| 日韩av网站导航| 亚洲国产精品成人va在线观看| 亚洲性日韩精品一区二区| 18性欧美xxxⅹ性满足| 欧美精品久久久久久久久| 毛片精品免费在线观看| 国产一区红桃视频| 性欧美在线看片a免费观看| 日韩精品亚洲元码| 欧美大片免费观看在线观看网站推荐| 日韩精品福利在线| 亚洲午夜色婷婷在线| 午夜剧场成人观在线视频免费观看| 91精品国产综合久久香蕉| 久久久久久伊人| 国产丝袜一区二区三区免费视频| 97在线观看视频国产| 亚洲成人性视频| 丝袜亚洲另类欧美重口| 亚洲a成v人在线观看| 亚洲国产欧美在线成人app| 亚洲色图av在线| 国产日韩欧美中文在线播放| 亚洲毛片在线免费观看| 91日本在线观看| 日韩电影网在线| 国产成人亚洲综合| 8x海外华人永久免费日韩内陆视频| 狠狠躁夜夜躁人人爽超碰91| 中文字幕亚洲无线码在线一区| 欧美大尺度激情区在线播放| 97国产在线观看| 国产成人精品综合| 欧美综合国产精品久久丁香| 国产精品免费视频xxxx| 亚洲女成人图区| 久久综合九色九九| 一道本无吗dⅴd在线播放一区| 日韩欧美亚洲国产一区| 亚洲第一精品夜夜躁人人爽| 亚洲午夜精品久久久久久性色| 精品高清一区二区三区| 亚洲国产日韩一区|