list.h

来自「创建顺序表: 输出顺序表:顺序输出各个元素; 插入顺序表:在指定位置处插入元」· C头文件 代码 · 共 47 行

H
47
字号
// 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 + =
减小字号Ctrl + -
显示快捷键?