資料結構 鍊錶

2021-09-29 19:30:46 字數 3020 閱讀 1780

此為本人在學習資料結構時所寫的,各個功能能夠實現,有多個檔案:

main檔案

#include

"link.h"

#include

"list.h"

#include

"llist.h"

#include

#include

using namespace std;

void

print

(llist<

int>

&a,int n)

;int

main()

/***********************

*function of print

*列印順序表中元素

************************/

void

print

(llist<

int>

& a,

int n)

cout<

}

list.**件

#ifndef list_h

#define list_h

template class list

list

(const list&

)

public:

list()

// 建構函式

virtual ~

list()

// 析構函式

virtual void

clear()

=0;// 清空列表中的內容

virtual void

insert

(const e& item)=0

;// 在當前位置插入元素item

virtual void

(const e& item)=0

;// 在表尾新增元素item

virtual e remove()

=0;//刪除當前元素,並將其作為返回值

virtual void

movetostart()

=0;//將當前位置設定為順序表起始處

virtual void

movetoend()

=0;// 將當前位置設定為順序表末尾

virtual void

prev()

=0;// 將當前位置左移一步,如果當前位置在首位就不變

virtual void

next()

=0;// 將當前位置右移一步,如果當前位置在末尾就不變

virtual int

length()

const=0

;// 返回列表當前的元素個數

virtual int

currpos()

const=0

;// 返回當前元素的位置

virtual void

movetopos

(int pos)=0

;// 將當前位置設定為pos

virtual const e&

getvalue()

const=0

;// 返回當前元素};

#endif

list.cpp檔案為空

link.**件

#ifndef link_h

#define link_h

#include

template

<

typename e>

class

link

link

(link* nextval =

null)}

;#endif

link.cpp檔案為空

llist.**件

#ifndef llist_h

#define llist_h

#include

"list.h"

#include

"link.h"

#include

using

namespace std;

template

<

typename e>

class

llist

:public list

void

removeall()

}public

:llist

(int size=

100)

// 建構函式

~llist()

// 析構函式

void

print()

const

;// 列印列表內容

void

clear()

// 清空列表

void

insert

(const e& it)

void

(const e& it)

e remove()

void

movetostart()

// 將curr設定在鍊錶頭部

void

movetoend()

// 將curr設定在鍊錶尾部

void

prev()

void

next()

//將curr指標往後移一步;如果已經指向尾部了就不需要改變

intlength()

const

// 返回當前列表大小

intcurrpos()

const

void

movetopos

(int pos)

const e&

getvalue()

const};

#endif

llist.cpp為

資料結構 鍊錶

鍊錶 what 就是一張鏈式儲存的表,是一種資料結構,是基礎,所以還是不要想有什麼用。具體呢?在c中就用結構體實現物件描述,然後通過函式來實現各個基本操作 c 則用類來表述,c中的結構體就可以看成c 中的類,然後通過類封裝各個操作步驟。這些操作實現後就需要 來測試,號稱demo,就是main函式裡面...

資料結構 鍊錶

鍊錶中的資料是以節點來表示的,每個結點的構成 元素 資料元素的映象 指標 指示後繼元素儲存位置 元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料。鍊錶的結點結構 data next data域 存放結點值的資料域 next域 存放結點的直接後繼的位址 位置 的指標域 鏈域 以 結點的序列 ...

資料結構 鍊錶

一般的建立線性鍊錶有兩種 1.正序法 需要三個指標,head作為頭指標,pre作為前乙個指標,cur作為當前指標用來建立空間 2.倒序法,利用指標的插入,只需要兩個指標,不斷的往頭指標後插入新空間,不過插入的越早,離頭指標越遠,也就越後面輸出 1.線性鍊錶的建立及查詢刪除 include inclu...