📄 infotable.h
字号:
// InfoTable.h: interface for the InfoTable class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_INFOTABLE_H__BC8A9922_CF9A_11D4_B00D_0080C84A0D59__INCLUDED_)
#define AFX_INFOTABLE_H__BC8A9922_CF9A_11D4_B00D_0080C84A0D59__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class InfoCont
{
public:
int nIndex;
double fInfo;
InfoCont* next;
friend class InfoTable;
};
class InfoTable
{
public:
//加入属性值为index,信息量为info节点,并按info从小到大的顺序排序,
//并根据该节点的值更新最大或最小的信息量值以及具有最大或最小信息
//量值的属性值
void AddInOrder(int index,double info); //根据info排序
InfoTable();
virtual ~InfoTable();
double GetMaxGap(); //获得该属性上最大和最小值之差,也就是计算值差时的分母
double GetInfo(int index); //获得值为index的相应的信息容量
//若找不到,则返回0
//加入属性值为index,信息量为info节点不排序,并根据该节点的值更新
//最大或最小的信息量值以及具有最大或最小信息量值的属性值
void AddItem(int index,double info);//加入元素不排序
void output();//依次输出各值;
InfoCont* getHead(){ return head;}
InfoCont* getNext(InfoCont* p) {return p->next;}
int getIndexMax(){ return indexMax;}
int getIndexMin(){ return indexMin;}
int GetCount()const{ return nCount;}
private:
int nCount; //记录该链表中的元素个数
InfoCont* head; //链表头指针
InfoCont* tail; //尾指针
double InfoMax; //信息容量最大值
int indexMax;
double InfoMin; //信息容量最小值
int indexMin;
};
#endif // !defined(AFX_INFOTABLE_H__BC8A9922_CF9A_11D4_B00D_0080C84A0D59__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -