線性表 鏈式儲存

2021-08-26 11:15:04 字數 2263 閱讀 1181

基類:

#ifndef linearlist_h

#define linearlist_h

/** filename: linearlist.h

*creater:qianchenglong

*date:2011/10/18

*comments: 線性表的抽象基類

*/template

class linearlist

~linearlist()//析構函式

{}virtual int length() const=0;//求表長;

virtual int search(const t& x)const=0;//根據值搜尋位序;

virtual t getdata(int i) =0;//取值;

virtual void setdata(int i,const t x) =0;//賦值;

virtual bool insert(int i,t& x) =0;//插入;

virtual bool remove(int i,t& x) =0;//刪除;

virtual bool isempty() const=0;//判斷表空;

virtual void output() const=0;//輸出;

};#endif

類定義:

#ifndef linkedlist_h

#define linkedlist_h

#include"linearlist.h"

template

class linkedlist:public linearlist

;template

struct linkedlist::listnode;

#include"linkedlist.cpp"

#endif

類實現:

#ifndef linkedlist_cpp

#define linkedlist_cpp

#include"linkedlist.h"

#include

//template

linkedlist::listnode::listnode(const t& _data)//巢狀類的建構函式

:data(_data),next(0)

{}template

linkedlist::listnode::listnode()

:next(0)

{}//

template

linkedlist::linkedlist()

template

linkedlist::~linkedlist()

}template

bool linkedlist::pushback(const t& x)

template

bool linkedlist::pushfront(t& x)

template

int linkedlist::length() const

//template

typename linkedlist::listnode *linkedlist::locate(int i)

template

bool linkedlist::insert(int i,t& x)

template

bool linkedlist::remove(int i,t& x)

template

int linkedlist::search(const t& x) const

if(work->data!=x)

return 0;

else

return i;

}template

t linkedlist::getdata(int i)

template

void linkedlist::setdata(int i,const t x)

template

bool linkedlist::isempty() const

template

void linkedlist::output() const

std::cout<

功能測試:

#include

#include"linkedlist.h"

int main()

{linkedlistlist;

for(int i=0;i!=10;++i)

list.pushback(i);

list.output();

std::cout<

線性表鏈式儲存

線性表鏈式儲存結構的建立 刪除最小值結點 值唯一 刪除某個指定值 不唯一 就地逆置 反向輸出 遞增排序 刪除重複結點 根據奇偶序號劃分成兩個帶頭結點的單鏈表。include stdio.h include stdlib.h typedef struct lnode lnode,llist void ...

線性表 鏈式儲存

概念 邏輯上相鄰的兩個資料元素在物理位置上可能相鄰也可能不相鄰,這中儲存結構為非順序映像或鏈式映像。特點 線性表的鏈式儲存結構的特點是可以用一組任意的儲存單元來儲存線性表中的資料,這組儲存單元可以是連續的,也可以是不連續的。由於這種特性,單鏈表中要取得第i個元素,必須從第乙個元素開始尋找,因此單鏈表...

線性表鏈式儲存結構

include include 線性表鏈式儲存結構 typedef struct lnodelnode,linklist int initlist linklist l 初始化 int endinsert linklist l,int e p next s return 1 末尾插入元素 int g...