📄 chain.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> ©); //复制构造函数
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 + -