資料結構與演算法(C語言版) 鍊錶2

2021-07-25 14:45:35 字數 1532 閱讀 7041

今天用c++裡面的模板實現鍊錶

listnode

list

鍊錶操作:

insert

delete

invert

concatenate

在vs2013中新建專案,在標頭檔案中加入mylist.h,在原始檔中加入main.cpp

#ifndef mylist_h

#define mylist_h

#include

template> class list;

template>

class listnode;

template>

class list;

void delete(type);

void insert(type);

void invert();

void concatenate(list

<

type

>);

void show();//測試使用的函式

private:

listnode<

type

>*first;

};//插入是往最前面插入

template>

void

list

<

type

>

::insert(type k)

template>

listnode<

type

>

::listnode(type element)

template>

void

list

<

type

>

::show()

std::cout

<< std::endl;

}template>

void

list

<

type

>

::invert()

first = q;

}template>

void

list

<

type

>

::delete(type k)

if (current)

else

delete current;

}}template>

void

list

<

type

>

::concatenate(list

<

type

>b)

if (b.first)

}#endif

#include

#include "mylist.h"

using namespace std

;int main()

總結:鍊錶的開發就是按照這樣來開發,我們可以自己動手給鍊錶新增一些功能。以後再開發過程中也是按照這樣的流程來開發。

資料結構與演算法(C語言版) 雙向鍊錶

鍊錶有單向鍊錶也有雙向鍊錶,雙向鍊錶既可以下乙個,也可以上乙個。雙向鍊錶在乙個節點裡至少有三個域,左鏈域 llink 右鏈域 rlink 資料域 data 雙向鍊錶也可以做成迴圈鍊錶,可以有表頭結構。今天我們做乙個雙向鍊錶,但是不是迴圈鍊錶 include using namespace std c...

資料結構 鍊錶(C語言版)

程式 include include include define error 0 define ok 1 define true 1 define false 0 define overflow 2 typedef int elemtype 定義鍊錶元素的型別 typedef int status...

王道資料結構鍊錶C語言版

include stdio.h include stdlib.h include stdbool.h typedef struct lnode lnode,linkedlist 初始化乙個單鏈表 帶頭結點 linkedlist initlist linkedlist l l next null 頭結...