用陣列實現鍊錶(C )

2021-05-07 14:28:50 字數 749 閱讀 7919

鍊錶可以說是最基本的資料結構,在常見的筆試,面試可能都會有涉及,本文是用陣列來實現鍊錶。

其**實現如下

#include

using namespace std;

class list

bool isempty()

int length()

int locate(int &x);//返回表中元素x的位置

bool retrieve(int k, int &x);//返回表中位置k,將之放入元素x

list& insert(int k,int x);//在位置k插入元素x

list& delete(int k,int &x);//刪除位置k的元素,將之存在x中]

void printlist();

}; list::list(int max)

int list::locate(int &x)

list& list::insert(int k, int x)

list& list::delete(int k, int &x)

//else 在此丟擲異常

} void list::printlist()

int main()

由於該演算法相對簡單,只是在某些部分進行簡單注釋。

用陣列來實現鍊錶的效率不是很高,如在進行插入和刪除時至多需要移動n個元素,效率為o(n)。

明後天的部落格內容為一筆畫問題(即尤拉迴路的演算法),歡迎各位到時捧場。

用陣列和鍊錶實現棧

完成乙個棧總共需要完成以下操作 初始化入棧 出棧檢視棧頂元素 檢視棧的容量 清空棧。首先是簡單的,用陣列做的,會有越界的可能。include include typedef struct stack stack stack s 生成棧 void initstack 入棧,push void push...

用鍊錶和陣列實現佇列

佇列的原則是先進先出,主要有offer,poll,peek,isempty和size方法.用鍊錶實現 package test class node node int var public class queuetest else tail node size 元素出隊 public int pol...

用c 實現單向鍊錶和雙向鍊錶

鍊錶是一種非常基礎的資料結構,本身也比較靈活,突破了陣列在一開始就要確定長度的限制,能夠做到隨時使用隨時分配記憶體。同時還有新增,刪除,查詢等功能。總的來說,鍊錶是由幾個模組構成的。一,單向鍊錶 鍊錶基本元素 struct node 建立節點 node current nullptr node he...