文件名称:c++程序链表类设计.cpp
文件大小:4KB
文件格式:CPP
更新时间:2024-07-20 04:04:45
c++
【问题描述】
请设计一个链表类,实现链表的初始化、插入、删除和打印操作。
节点的定义如下:
typedef int elementType;
typedef struct node
{
elementType data;
node* next;
} LList, *PList;
链表类的定义及要求如下:
class linkedList
{
public:
linkedList();//构造函数
virtual ~linkedList();//析构函数,注意要链表中所有节点的资源
void insert( int value );//警告:必须初始化才能使用!
bool initiate();//初始化单链表,使用new操作创建头结点。如果创建失败,则返回false,否则返回true
bool isEmpty();//判断单链表是否为空
//删除单链表中第pos个元素结点,并将删除的节点的值存在value中。
//注意:如果链表为空、删除位置大于链表长度、以及删除位置为0的情况,需要终止删除并输出相应信息
bool remove( int pos, int& value );
void print();//顺序打印单链表,如果是单链表为空,则输出 Empty
int Length();//返回单链表长度。如果是单链表为空,则返回-1
private:
LList *head;
int len;
};
main函数:
int main(int argc, char* argv[])
{
linkedList L1;
int n;
int val;
//初始化链表
if(!L1.initiate())
return 0;
cin>>n;//输入链表中数据个数
for(int i=0; i