用C++编写一个单链表

来源:百度知道 编辑:UC知道 时间:2024/06/22 16:33:55
要求:有一个节点数据类型为INFO的链表,其数据场成员有: int x,float y,表头结点指针定义为外部变量。在主函数中建立链表后调用VOID INPUT输入链表的一批结点,调用VOID LIST_chain编历原链表,再调用VOID revers 实现原链表的反向,即反转原链接顺序,再次调用list_chain遍历新链表 注意:再对链表做转向处理时,不允许开辟新节点 只能用原链表的节点的存储元

平时多写写代码吧.
关键地方写了注释. 整个程序很简单. 编译环境 VS2005
/*define the INFO structure*/
struct INFO
{
int x;
float y;
INFO* next;
};

/*This class execute all the operation of list*/
class CINFOList
{
public:
CINFOList(){ m_lpListHead = NULL; }
~CINFOList() { DestoryList();}

/*insert data to the list*/
bool Insert(INFO &info)
{
if (NULL == m_lpListHead)
{
if (CreateListHead())
{
m_lpListHead->x = info.x;
m_lpListHead->y = info.y;
m_lpListHead->next = NULL;
}
else
return false;
}
else
{
INFO* lpCurrentNode = m_lpListHead;
while (lpCurrentNode->next != NULL)
{
lpCurrentNode = lpCurrentNode->next;
}
lpCurrentNode->next = new INFO;
if (NULL == lpCurrentNode->next )
{
return false;
}
lpCu