作业帮 > 综合 > 作业

求C语言代码:分支限界法解背包问题

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 11:08:31
求C语言代码:分支限界法解背包问题
/*给点分吧,0分未免也太少了,下面是可以运行的代码*/
#include
#include
#include
#define MAXSIZE 1000000
#define N 50
typedef struct
{
int element[MAXSIZE];
int front;
int rear;
} Queue;
int W[N],P[N];
int InitQueue(Queue *Q)
{
Q->front=Q->rear=0;
return 0;
}
int IsEmpty(Queue *Q)
{
return ((Q->front==Q->rear)?1:0);
}
int IsFull(Queue *Q)
{
return (((Q->rear+1)%MAXSIZE==Q->front)?1:0);
}
int EnterQueue(Queue *Q,int s)
{
if (IsFull(Q))//错误:内存空间不足!
return 0;
Q->element[Q->rear]=s;
Q->rear=(Q->rear+1)%MAXSIZE;
return 1;
}
int DelQueue(Queue *Q,int *x)
{
if (IsEmpty(Q)) //队列为空.
return 0;
*x=Q->element[Q->front];
Q->front=(Q->front+1)%MAXSIZE;
return 1;
}
CopyArray(int *src,int *dst,int n)
{
int i;
for (i=0; i