資料結構鍊錶 鍊錶的定義及基本操作

2021-09-12 08:17:35 字數 1277 閱讀 4973

1,鍊錶的基本結構

typedef struct linklist

} linklist;

2,鍊錶的初始化

linklist* init_list()

3,新建鍊錶

void createlinklist(linklist *headnode,int *data, int datanum)

}headnode->next =null;

}4,在指定位置插入元素

void insertlinklist(linklist* headnode, int data, int locationindex)

linklist *nodetoinsert = new linklist();

nodetoinsert->next = currentnode->next;

currentnode->next = nodetoinsert;

nodetoinsert->elem = data;

}5,在指定位置刪除元素

void deletelinklist(linklist* headnode, int data, int locationindex)

nodetodelete = currentnode;

currentnode->next =currentnode->next->next;

delete nodetodelete;

}6,查詢鍊錶的長度

size_t getlistlength(linklist* headnode)

return listlength;

}7,刪除整個鍊錶

void destroylinklist(linklist* headnode)

headnode->next = null;

}8,鍊錶的翻轉

linklist reverselinklist(linklist * headnode)

return prev->next;

}9,判斷鍊錶是否成環

bool islistloop(linklist* headnode)

else

if(pfast == pslow)

}return false;

}int main()

鍊錶的基本操

實現鍊錶的增加 刪除 查詢和反轉 class link public void display class linklist 插入頭節點 public void insertfirst int data 刪除頭結點 public link deletefirst 查詢 public link fin...

資料結構 鍊錶 雙向鍊錶

注意typedef的定義結構,以及dinklist的資料型別 typedef struct dnode dnode,dinklist 注意插入第乙個結點時,prior指標的空指向問題 if l next null 若l後繼結點為空 則省略該步驟 l next prior p 基本 頭插法建立雙向鍊錶...

資料結構鍊錶 靜態鍊錶

1 在這裡我們首先要複習一下鍊錶c語言的定義 這看起來很簡單,但實際上至關重要!data域 存放結點值的資料域。next域 存放結點的直接後繼的位址 位置 的指標域 鏈域 也就是說next域儲存的是乙個位址,這個位址是下一節點的位址。注意 鍊錶通過每個結點的鏈域將線性表的n個結點按其邏輯順序鏈結在一...