單鏈表操作

2021-08-02 11:29:36 字數 2082 閱讀 9165

單鏈表操作的實現,包括初始化,插入,刪除,遍歷,排序,歸併等。為了方便,使用了帶頭結點的單鏈表。注意,單鏈表的侷限之處在於只能向後繼方向進行遍歷,所以在進行插入和刪除操作時要找到目標結點的前驅結點。這個比較關鍵。其他的細節就比較簡單了。

**如下:

// linklist.cpp : 定義控制台應用程式的入口點。

//帶頭結點的單鏈表

#include "stdafx.h"

#include #include #include #include using namespace std;

typedef struct lnode lnode, *linklist;

//取第i個位置的元素

bool getelem(const linklist& l, int pos, int& e)

if (!p || j>pos - 1)

return false;

e = p->next->data;

return true;

}//插入元素

bool insertlist(linklist& l, int pos, int e)

if (!p || j>pos - 1) //插入位置大於表長或小於1

return false;

lnode* temp = (lnode*)malloc(sizeof(lnode));

temp->data = e;

temp->next = p->next;

p->next = temp;

return true;

}//刪除元素並返回

bool removelist(linklist& l, int pos, int& e)

if (!p || j>pos - 1)

return false;

lnode* q = p->next;

p->next = q->next;

e = q->data;

free(q);

return true;

}//逆序建立表

單鏈表操作

include include typedef struct node tag node 建立不帶頭結點的單鏈表 node createnode else p q scanf d n 函式體結束,q指標變數被釋放,不能通過head引數帶回到呼叫函式 要把head帶回到呼叫函式,要把它定義為指向指標的...

單鏈表操作

include stdio.h include malloc.h include define n 10 代表要處理的元素個數 可以誰使用者的意思修改 define ok 1 define overflow 0 typedef int elemtype typedef int status type...

單鏈表操作

這一次補上鍊表的注釋,是空閒的時候敲出來的,如果有錯,希望幫忙糾正 部分給出了詳細說明,這裡只選取了基本操作,因為更複雜的鍊錶操作太繁瑣,這裡就不寫了 如果有什麼不懂的地方,可以隨時詢問 include using namespace std typedef int elemtype struct ...