c 模板類實現線性表鏈式儲存

2021-07-23 11:31:44 字數 1566 閱讀 9334

對比c語言實現線性表的鏈式儲存,分析不同之處!

linklist.h

#pragma once

//在插入元素時,模板類中應該把每個t儲存下來

//模板類中應該能後 分配節點 快取節點

//怎麼樣快取===> 做鍊錶

templatestruct node

;template class linklist

;

linklist.cpp

#include "linklist.h"

template linklist::linklist()

template linklist::~linklist()

this->length = 0;

head = null;

}template void linklist::clear()

this->head = null;

//建立頭結點

this->head = new node;

head->next = null;

this->length = 0;

return ;

}template int linklist::getlength()

template int linklist::insert(t &t,int pos)

//思考乙個問題? 新節點(要插入的節點)存在嗎

node*node = new node;

if (node==null)

template int linklist::get(int pos,t &t)

//思考乙個問題? 新節點(要插入的節點)存在嗎

t = current->next->t;//把快取的資料t 傳遞給呼叫者

return 0;

}template int linklist::del(int pos,t &t)

ret = current->next;//被刪除的元素節點

t = ret->t;//把快取的t拷貝

current->next = ret->next;

this->length--;

delete ret;//釋放

return 0;

}

test.cpp

#include #include "linklist.cpp"

using namespace std;

struct teacher

;void display_linklist()

{ teacher t1,t2,t3;

teacher tmp;

linklistlist;

t1.age = 10;

t2.age = 20;

t3.age = 30;

list.insert(t1,0);

list.insert(t2,0);

list.insert(t3,0);

for (int i =0;i0)

{ list.del(0,tmp);

cout<

線性表 鏈式儲存實現

定義 邏輯上連續,物理上可以分散的線性表儲存方式。可以充分利用不連續空間,但是由於需要儲存後繼節點指標,故空間開銷大。結構定義 定義乙個頭節點 其儲存帶值節點個數 和 第乙個帶值節點指標 typedef struct linklistlist 基本操作 list createlist l data ...

線性表鏈式儲存

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

線性表 鏈式儲存

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