#include "iostream.h"
/////////////////////////////////////////
//tree node
typedef struct _treenode{
//struct _treenode *liveNode; //活节点
double upperProfit; //节点的价值上界
double profit; //节点价值*
double weight; //节点重量
int level; //活节点在子树中所处的层序号
//bool left;
}TreeNode;
void initNode(TreeNode &node, double up, double p, double w, int lev)
{
node.upperProfit = up; node.profit = p; node.weight = w; node.level = lev;
}
/////////////////////////////////
#define MAX_LENGTH 20
//class LQueue
class LQueue{
public:
LQueue() {length = 0;}
virtual ~LQueue(){}
void addTail(TreeNode tn);
TreeNode removeHead();
TreeNode removeMax();
TreeNode removeMin();
int GetLength(){return length;}
protected:
private:
//int queue[MAX_LENGTH];
TreeNode queue[MAX_LENGTH]; //序号0处开始存储
int length; //节点个数
};
void LQueue::addTail(TreeNode tn)
{
queue[length++] = tn;
}
TreeNode LQueue::removeHead()
{
return queue[--length];
}