单向链表结构代码
#include<iostream>
#include<stdexcept>
//定义了一组标准异常类,用于处理程序运行时的错误情况。异常是程序运行时发生的错误,它们可以被捕获并处理,以避免程序的非正常终止。
//<stdexcept> 头文件定义了一组从 std::exception 派生的异常类,这些类提供了一种标准的方式来报告和处理错误。
using namespace std;
#define eleType int
//链表结点结构体
struct ListNode {
//定义一个名为ListNode的结构体,用于表示链表中的结点
eleType data;//定义eleType类型的变量data,用于存储结点的数据域
ListNode* next;//定义了一个指向ListNode结构体类型的指针域next,用于指向链表的下一个结点
ListNode(eleType x):data(x),next(NULL){}
//ListNode结构体的构造函数。它接受一个eleType类型的参数x,并将其值赋值给结点的数据成员data。同时,将next指针初始化为NULL,表示当前结点为链表的末尾结点。
};
//单向链表类
class LinkedList {
private:
ListNode* head;//定义链表的头结点
int size;//定义链表的大小
public:
LinkedList():head(NULL),size(0){}//链表的构造函数,初始化为一个空链表,链表元素个数为0
~LinkedList();//链表的析构函数,用于释放在堆上申请的空间
void insert(int i, eleType value);//在链表的第i个位置,插入一个值为value的结点
void remove(int i);