常見資料結構的演算法。總結一下現在遇到的常見的演算法,也是給自己乙個交待吧。
雙向鍊錶:
話不多說直接上**。
標頭檔案:
#ifndef _shuang_link_table_
#define _shuang_link_table_
#include "head.h"
typedef struct st_d_link_table
;class d_link_table
;#endif
實現:
#include "shuanglianbiao.h"
d_link_table::d_link_table()
d_link_table::~d_link_table()
void d_link_table::test()
bool d_link_table::createdlinktable()
memset(head, 0, sizeof(st_d_link_table));
return true;
}int d_link_table::getlength()
return len;
}bool d_link_table::cacheinsert(int data)
bool d_link_table::insert(int pos, int data)
st_d_link_table *temp = head;
st_d_link_table *node = (st_d_link_table *)malloc(sizeof(st_d_link_table));
memset(node, 0, sizeof(st_d_link_table));
if (pos == 0)
else
if (temp == null)
temp->_next_->data = data;
temp->_next_->_next_ = node;
temp->_next_->_front_ = temp;
}return true;
}bool d_link_table::delete()
演算法常見資料結構
array 陣列最簡單而且應用最廣泛的資料結構之一.特性 使用連續的記憶體來儲存,陣列中的所有元素必須是相同的型別或型別的衍生 同質資料結構 元素可以通過下標直接訪問 linkedlist 鍊錶,線性表的一種,最基本,最簡單,也最為常用的資料結構.特性 元素之間的關係是一對一的關係 除了第乙個和最後...
資料結構與演算法 雙向鍊錶
雖然從表內第乙個節點到最後乙個節點的遍歷操作是非常簡單的,但是反向遍歷鍊錶卻不是一件容易的事情。如果為node類新增乙個欄位來儲存指向前乙個節點的連線,那麼久會使得這個反向操作過程變得容易許多。當向鍊錶插入節點的時候,為了吧資料複製給新的字段會需要執行更多的操作,但是當腰吧節點從表移除的時候就能看到...
資料結構和演算法 雙向鍊錶
初始化 指標域置為空 null 資料域可用可不用 前插法 插入節點插在頭節點之後 為前插法 插入節點的next 頭節點的next 插入節點的prev 頭節點 頭節點的next 插入節點 判斷是否存在下乙個節點 如果 頭節點的next null 說明存在,就需要把下乙個節點的prev指向插入節點 如果...