C++中单链表类程序设计

来源:百度知道 编辑:UC知道 时间:2024/09/21 14:37:08
8.链表类的设计与实现
编写一个实现学生信息单链表各种操作的类,学生信息包括学号、姓名和成绩,类实现以下功能:
(1) 初始化单链表为空表;
(2) 实现单链表的插入操作的成员函数;
(3) 实现单链表的删除操作的成员函数;
(4) 实现单链表的查找操作的成员函数(给定学号,查找其学号、姓名和成绩);
(5) 实现求单链表长度的成员函数;
(6) 实现建立单链表的成员函数,单链表节点的个数不确定。
(7) 编写一个主函数测试上述功能。

///////////////////////
///////mylist.h////////
/////描述:通用链表/////
///作者:baihacker///////
/////时间:10.27.2006///
///////////////////////

#ifndef MYLIST
#define MYLIST

///////////////////////
///////向前声明////////
///////////////////////
template <class T>
class mylist;

template <class T>
class listiterator;

///////////////////////
////////节点类/////////
///////////////////////
template <class T>
class listnode{
friend class mylist<T>;
friend class listiterator<T>;
private:
T data;
listnode<T>* link;
public:
listnode(T d):data(d),link(NULL){};
listnode():link(NULL){};
listnode(const listnode<T>& t){data=t.data;link=t.link;};
};

///////////////////////
/////////链表类////////
///////////////////////
template <class T>
class mylist{