資料結構之鍊錶簡單操作

2021-08-07 08:48:19 字數 1168 閱讀 6458

這是我在學習資料結構的時候,寫的一些簡單**,關於鍊錶的簡單操作,可以作為他人學習資料結構的時候參考用

,由於寫的比較匆忙,難免有問題,如有問題,歡迎指正!

#include #include struct link 

;//頭插法倒置鍊錶

link* headinsert(link* t)

return prev;

}//刪除沒有頭指標的單鏈表

bool deletenode(link* t)

link* temp = t->next;

t->value = temp->value;

t->next = temp->next;

free(temp);

return true;

}//刪除單鏈表節點

link* deletenode(link* head, int value)

if (p == null)//can't find

return head;

if (p ==head)//為頭結點的情況

q->next = p->next;

free(p);

return head;

}//快慢指標判斷是否迴圈鍊錶

bool isloop(link* head)

while (fast!=null && fast->next!=null) }

if (fast->next ==null) }

//找環的入口

link* findbegin(link* head)

while (fast!=null&&fast->next!=null) }

if (fast == null || fast->next == null)

//如果有環,slow從頭開始,fast和slow繼續往下走,當再次相遇,便是入口

slow = head;

while (slow!=fast)

return fast;

}//查詢倒數第k個節點

link* findkthtotail(link* head, int k)

//不是 p->next!= null;末尾節點是倒數第乙個節點

while (p!=null)

return t;

}

資料結構之鍊錶操作

線性表鏈式儲存結構定義 為了表示每個資料元素ai與其後繼資料元素ai 1之間的邏輯關係,對資料元素ai來說,除了儲存其本身資訊外,還需儲存乙個指示其直接後繼的資訊。我們把儲存資料元素的域稱為資料域,把儲存直接後繼位置的域稱為指標域。指標域中儲存的資訊稱為指標或鏈。這兩部分資訊組成資料元素ai的儲存影...

資料結構之鍊錶操作

1 基本概念 鏈式儲存結構不需要用位址連續的儲存單元來實現,而是通過 鏈 建立起資料元素之間的順序關係,因此它不要求兩個在邏輯上相鄰的資料元素在物理邏輯上也相鄰。從而,在插入和刪除元素的時候,不需要對原來的資料元素進行移動,只需要改變鍊錶節點之間的指向關係即可,從而提公升了執行時效率。2 主要儲存結...

資料結構之鍊錶操作

面試中單鏈表的相關操作也是常考的內容,本博文也是之前學習時的筆記,在此記錄下來,以便日後用到,同時歡迎批評指正。一 基本操作typedef struct lnode 2.鍊錶的銷毀 void destorylist linklist l else l next ptemp 3.鍊錶的判空 bool ...