插入: 在某一位置插入某元素時,需要對該元素位置前的元素進行遍歷,找到該位置後,再進行插入。相關操作為s->data=value;
s->next=p->next;
p->next=s;
s為要插入元素,p為s前的乙個元素,p->next原為p後的元素,現在被插入元素後變為s->next。
刪除:刪除操作與插入操作類似,第一步還得遍歷到要刪除位置,然後再對該元素操作。相關操作為s=p->next;
p->next=s->next;
value=s->data;
free(s);
s為被刪除元素,找到被刪除元素前一元素位置,s=p->next;先把s指向的後乙個元素讓s前的乙個元素重新指向它,即p->next=s->next;然後用free()函式釋放掉s的空間。
#include
#include
typedef
struct _nodenode,
*lnode;
void
init
(lnode *h)
void
creat
(lnode l,
int n)
}void
inser
(lnode l,
int i,
int value)
s=(lnode)
malloc
(sizeof
(node));
s->data=value;
s->next=p->next;
p->next=s;
}void
linkprintf
(lnode l)
}void
reverse
(lnode head)
head->next = q;
}void
del(lnode l,
int i,
int value)
s=p->next;
p->next=s->next;
value=s->data;
free
(s);
}int
main()
輸入:1 2 3 4 5鍊錶輸出:
data is :1
data is :2
data is :3
data is :4
data is :5
在第三個位置插入:
data is :1
data is :2
data is :98
data is :3
data is :4
data is :5
刪除第四個元素:
data is :1
data is :2
data is :98
data is :4
data is :5
資料結構 線性表 單鏈表
本文只要實現單鏈表的初始化 插入 尾插 頭插 任意位置插入 刪除 尾刪 頭刪 刪除指定元素 查詢等。定義單鏈表 typedef int datatype typedef struct linknode linknode,plinknode,plist 實現單鏈表的所有介面 void initlink...
資料結構 線性表 單鏈表
資料結構 線性表的鏈式表示 單鏈表 線性表元素序號從1算起 date 2017 4 13 include include define initsize 100 define elemtype char typedef struct lnodelnode,linklist linklist crea...
資料結構 線性表 單鏈表
include include 結構體的定義和數序表的定義 typedef int elemtype typedef struct node node 函式的宣告 void initnode node h int addnode node h,elemtype e void deletenode n...