设计题目—单向链表

来源:百度知道 编辑:UC知道 时间:2024/05/26 10:03:01
已知技术参数和设计要求
1、主要参数:空头链表、表头
2、完成以下的操作:插入链表项、追加链表项、连接两个链表、将个链表项逆向输出、返回链表的数据项数、输出一个已生成的链表。
3、要应用以下知识点:类的定义、对象的定义、构造函数及其重载、友员类、使用new动态创建对象。
设计内容与步骤
1、定义链表为一个类
2、分析设计所有的操作
3、程序设计、实现、调试
4、课程设计说明书

头文件:LinkList.h

typedef struct LNode {
int data;
struct LNode *next;
}LNode, *pLinkList;

class LinkList {
private:
pLinkList m_pList;
int m_listLength;
public:
LinkList();
~LinkList();
bool InitList ();
bool DestroyList ();
bool ClearList();
bool IsEmpty ();
int GetLength ();
bool GetNode(int position, LNode** node);
int LocateElem(int elem);
bool SetNodeData(int position, int newData);
bool GetNodeData(int position, int &data);
bool InsertNode(int beforeWhich, int data);
bool DeleteNode(int position);
};

Cpp文件:LinkList.cpp

#include <iostream.h>
#include "LinkList.h"

LinkList::LinkList() {
m_pList = NULL;
m_listLength = 0;

InitList();
}

LinkList::~LinkList() {
if (!DestroyList()) {
DestroyList();
}
}

//初始化,分配一个头节点。<