1. 利用模板实现 单链表
#include <iostream>
using namespace std;
//模板实现单链表
//定义一个类(结点类)
template <class T>
class Node{
public:
T date; //数据域
//指针域
Node<T> *next;
};
//链表功能处理类
template <typename T>
class LinkList{
public:
//头插
void headinsert(Node<T> *head,T date);
//输出
void show(Node<T> * head);
};
template<typename T>
void LinkList<T>::headinsert(Node<T> *head,T date){
Node<T> * link = new Node<T>;
link->date = date;
link->next = head->next;
head->next = link;
}
template<typename T>
void LinkList<T>::show(Node<T> *head){
Node<T> *p = head;
while (p != NULL) {
cout << p->date << endl;
p = p->next;
}
}
int main()
{
int a = 10;
Node<int> head;
head.date = 20;
head.next = NULL;
LinkList<int> list;
list.headinsert(&head,a);
list.show(&head);
return 0;
}
2. 思维导图