📄 list.h
字号:
// List.h: interface for the List class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_LIST_H__32AE370F_DD2E_4F58_856D_2E1D06D478CF__INCLUDED_)
#define AFX_LIST_H__32AE370F_DD2E_4F58_856D_2E1D06D478CF__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include"LinkNode.h"
#include<stdlib.h>
template<class T>
class List
{
public:
List(){first=new LinkNode<T>;} //构造函数
List(const T&x){first=new LinkNode<T>(x);}
List(List<T>&L); //复制构造函数
virtual ~List(){makeEmpty();} //将链表置为空表
void makeEmpty(); //将链表置为空表
int Length()const; //计算链表的长度
LinkNode<T>* getHead()const{return first;} //返回附加头结点
void setHead(LinkNode<T>*p){first=p;}
LinkNode<T>* Search(T x); //搜索含数据x的元素地址
LinkNode<T>* Locate(int i); //搜索第i个元素地址
T* getData(int i); //取出第i个元素地址
void setData(int i,T& x); //用x修改第i个元素的值
bool Insert(int i,T x); //在第i个元素后插入x
bool Remove(int i,T&x); //删除第i个元素x返回该元素的值
bool IsEmpty()const{return(first->link==NULL)?true:false;} //判表空否
bool IsFull(); //判表满否
void sort(); //排序
void output(); //输出链表
void inputRear(T endflag); //后插法建立单链表
List<T>& operator=(List<T>&L); //重载函数:赋值
void reverse(); //将链表逆序
protected:
LinkNode<T>* first; //链表的头指针
};
#endif // !defined(AFX_LIST_H__32AE370F_DD2E_4F58_856D_2E1D06D478CF__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -