C 資料結構 鍊錶

2021-08-30 12:49:46 字數 1916 閱讀 1469

理論基礎:

鍊錶是用一組任意的儲存單元來儲存線性表中的資料元素。

如果結點的引用域只儲存該結點直接後繼結點的儲存位址,則該鍊錶叫單鏈表(singly linked list)。

單鏈表由頭引用h唯一確定。頭引用指向單鏈表的第乙個結點,也就是把單鏈表第乙個結點的位址放在h中。

c#實現:

1介面

引用線性表的介面ilistds

2實現

首先,必須定義乙個單鏈表的節點類

public class node

public node()

public t data

set

} public nodenext

set

} }

實現主體類

public nodehead

set

} public linklist()

///

/// 獲取長度

///

///

public int getlength()

return len;

} ///

/// 清空操作

///

public void clear()

///

/// 判斷線性表是否為空

///

///

public bool isempty()

else }

///

/// 附加操作,線性表未滿,將值為item的新元素新增到末尾

///

///

if (head == null)

node = head;

while (node.next != null)

node.next = newnode;

} ///

/// 尋找節點

///

///

///

public nodefindnode(int i)

if (i < 1)

nodecurrent = head;

int j = 1;

while (current.next != null && j < i)

return current;

} ///

/// 插入操作,在第i個節點前面插入item

///

///

///

public void insert(t item, int i) }

///

/// 插入操作,在第i個節點後面插入item

///

///

///

public void insertback(t item, int i) }

///

/// 刪除操作

///

///

///

public t delete(int i)

else }

///

/// 去表元

///

///

///

public t getelem(int i)

else }

///

/// 按值查詢

///

///

///

public int locate(t value)

nodecurrent = new node();

current = head;

int i = 1;

while (current.next != null && !current.data.equals(value))

return i; } }

資料結構 鍊錶(C )

typedef int rank define listnodeposi t listnode template class listnode listnode t e,listnodeposi t p null,listnodeposi t s null data e prenode p back...

C 資料結構 鍊錶

資料結構2 鍊錶.cpp 此檔案包含 main 函式。程式執行將在此處開始並結束。include pch.h include using namespace std typedef struct lnode 定義乙個節點 list void createla list l,int n,int len...

資料結構(C 鍊錶

鍊錶結構體的定義 struct ndoe typedef struct node node,pnode 頭插法插入結點 1.建立頭結點,並分配空間 2.建立新結點,新節點 next指向上乙個節點,頭結點 next指向新結點 pnode list headinsert pnode head pnode...