最近在学习数据结构的链表,包括链表的创建、查询、删除等各种操作,刚开始接触,肯定有某些没发现的错误,欢迎大家指出来。
好了,不说废话了,直接上代码
首先是单链表的.H文件
#pragma once
typedef int DataType;
#define Node ElemType
//定义节点
class Node
{
public:
int value;
Node* next;
};
//定义单链表
class LinkList {
public:
//构建单链表
LinkList();
//销毁单链表
~LinkList();
//创建一个单链表
void CreateLinkList(int n);
//遍历线性表
void TravalLinkList();
//获取线性表长度
int GetLength();
//判断单链表是否为空
bool IsEmpty();
//查找节点
ElemType *FindNode(DataType data);
//在链表尾部插入指定元素
void InsertElemAtEnd(DataType data);
//在链表指定位置插入指定元素
void InsertElemAtIndex(DataType data, int n);
//在链表头部插入指定元素
void InsertElemAtHead(DataType data);
//删除尾部元素
void DeleteElemAtEnd();
//删除指定元素
void DeleteElemAtIndex(DataType data);
//删除头部元素
void DeleteElemAtHead();
private:
ElemType* head;
};
然后是对应的.cpp文件
#include"ListNode.h"
#include<iostream>
#define MaxSize 100