c 鍊錶(用類加模板)

2021-08-14 01:19:21 字數 682 閱讀 2024

話不多說,貼**才是王道

(為了方便指標倒置加了一下小插曲)

#include

#include

template

//這是模板型別定義t

class links //p為已存在的節點p中的_forward是前乙個節點,也是方便倒置而設計的,建構函式初始化

void _insert(t *p)

h->next=p;

p->next=

null;

p->_forward=h;

_end=p;

}//插入的方法,在結尾插入乙個節點

void _start_show()

}//從頭到尾顯示

void _end_show()

}//從尾到頭顯示

~links()

free(head);

free(_end);

}//析構函式釋放指標

};

需要其他方法的話可以在其中加,目前就寫了這幾個方法qaq。

對於鍊錶我的理解是,先最基本當然是乙個結構體裡面有個結構體指標指向下乙個,但對於剛接觸鍊錶的人,比如我剛開始寫的時候最難理解的還是指標的呼叫,什麼時候需要分配記憶體,什麼時候要進行指標賦值。在動手琢磨後頓悟。

這是我認為鍊錶中最大的坑,也是很多教程會忽略的地方。

C 鍊錶類模板

鍊錶 list 即雙向鍊錶容器,它不支援隨機訪問,訪問鍊錶元素要指標從鍊錶的某個斷點開始,插入和刪除操作所花費的時間是固定的,和該元素在鍊錶中的位置無關。list在任何位置插入和刪除動作都很快,不像vector只能在末尾操作。建立list鍊錶類模板的方法 include 呼叫list標頭檔案.lis...

C 模板類實現鍊錶

注意 鍊錶中要包含node的結構體,用來把節點放進去 只有出現node就要加,不然會報錯 有類模板的重新編譯記得清空再重新生成 清除鍊錶時使用的迴圈清空頭結點的思想需要記得 c語言中一樣迴圈呼叫清除0號元素也可以 debug和release編譯不同,一步一步執行時順序不一樣,不知道為啥了,不過不重要...

鍊錶類模板

include using namespace std class cnode 定義乙個節點類 template 定義類模板 class clist 定義clist類 type movetrail 獲取尾節點 return ptmp 返回尾節點 void addnode type pnode 新增節...