先给一个结构:
node.h
#ifndef Node_h
#define Node_h
/*类模板*/
template <class T>
class Node
{
public:
Node<T> * next;
Node<T> * prev;
T data;
};
#endif /* Node_h */
Link.hpp是具体类的定义,声明等:
//
// Link.hpp
// Prac-Map
//
// Created by Lin,Wang on 2018/10/16.
// Copyright © 2018年 Lin,Wang. All rights reserved.
//
#ifndef Link_hpp
#define Link_hpp
/*系统文件尖括号,新增文件是双引号*/
#include<stdio.h>
#include<iostream>
#include<sstream>
#include<string>
#include "Node.h"
using namespace std;
template <class T>
class List
{
public:
List(); // 默认构造函数
List(const List& ln ); //拷贝构造函数
~List(); // 解析函数
void add(T e); //添加节点
void ascSort(); //生序排列
void remove(T index); //移除某个节点
T find(int index);//查找节点
bool isEmpty();//判断是否为空
int size(); //判断链表的长度
void show();// 显示链表
void resShow();//链表的反向显示
void removeAll();//删除全部节点
private:
Node <T> *head;