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