面經 常見資料結構的演算法 雙向鍊錶

2021-08-16 06:07:22 字數 1124 閱讀 1247

常見資料結構的演算法。總結一下現在遇到的常見的演算法,也是給自己乙個交待吧。

雙向鍊錶:

話不多說直接上**。

標頭檔案:

#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指向插入節點 如果...