此数据结构的ADT就不说了,用链式实现线性表。实现的版本中包含一个head节点,用于指向线性表。
链表的长度包括a1~an。
下面是用C++模板类实现的一个链表方式存储的线性表linklist
/*
* =====================================================================================
*
* Filename: 3linklist.h
*
* Description: template implement of link-list
*
* Version: 1.0
* Created: 2012年03月09日 00时44分53秒
* Revision: none
* Compiler: gcc
*
* Author: Lavey Luo (lavey), luoyi.smt@gmail.com
* Organization:
*
* =====================================================================================
*/
#ifndef __LINKLINS_H__
#define __LINKLINS_H__
#include <cstdlib>
#include <ctime>
namespace st
{
#ifndef _STATUS_CONST_
#define _STATUS_CONST_
enum Status
{
OK = 0,
ERROR = -1
};
#endif
template<typename T>class linklist;
template<class T>
class linknode
{
friend class linklist<T>;
private:
T data;
linknode* next;
};
template<class T>
class linklist
{
public:
explicit linklist(): _head(NULL){
};
~li