单链表能进行建立链表,输出链表,求链表长度插入结点,删除结点等操作。

来源:百度知道 编辑:UC知道 时间:2024/05/18 21:01:12
{ int num;
Char sex;
Float scorce;}
2. 在main函数中设置
Stract student
{ int num;
Char sex;
Float scorce;}

这是结点的头文件:
template<typename T> class Node{
public:
Node(T* t):item(t),next(0){}
~Node(){delete item;}
void setNext(Node* t){next=t;}
Node* getNext(){return next;}
T* getItem(){return item;}
private:
T* item;
Node* next;
};

这是链表的头文件:
#include "Node.h"
#include <iostream>
using namespace std;

template<typename T> class LinkedList{
public:
LinkedList():length(0),head(0),tail(0){};
~LinkedList();
int getLength(){return length;}
void add(T t);
T* get(int i);
void insert(int i,T t);
void del(int i);
void display();
private:
Node<T>* head;
Node<T>* tail;
int length;
};

template <typename T> void LinkedList<T>::add(T t){
T* p=new T;
*p=t;
if(head==0){
head=new Node<T>(p);
tail=head;
}
else {
Node