⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chain.h

📁 关于数据结构的相关内容,表达式树,前中后序遍历,哈夫曼编码,线性表操作
💻 H
字号:
#pragma once      //这个是为了将重复的头文件编译一次
#include<iostream>
#include"ChainNode.h"
#include"Error.h"
using namespace std;



template<class DataType>
class Chain
{
private:
	ChainNode<DataType> *first;
public:
	Chain(void);
	Chain(const Chain<DataType> &copy);			//复制构造函数
	const Chain<DataType>& operator = (const Chain<DataType> &c);			//重载赋值运算符
	bool IsEmpty() const {return first==0;}				//判断线性表是否为空
	int Length() const;					//求线性表长度
	bool Find(int k,DataType& x) const;				//按索引查找元素,如果存在就返回真,并将元素值赋给x
	int Search(const DataType& x) const;		//按值查找,如果存在返回该元素索引,如果不存在返回0
	Chain<DataType>& Delete(int k,DataType& x);				//按索引删除元素,如果存在就将元素删除并将值赋给x
	Chain<DataType>& Insert(int k,const DataType x);		//按位置插入
	void Sort() ;			//对线性表进行排序
	void Clear() ;			//清空所有的元素
	void Output(ostream& out) ;		//输出元素
	void Combination(const Chain& a,const Chain<DataType>& b);		//将两个参数的线性表按顺序合并
	//friend ostream& operator << (ostream& out,Chain<DataType>& x);			//采用函数的方式调用可以不用友元
public:
	~Chain(void);
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -