今天抽了點時間,複習了一下鍊錶,總結了建立,刪除,插入,查詢的操作方法。
原始碼如下:
#include
<
iostream
>
using
namespace
std;
typedef
struct
lnode
lnode,
*llist;
//方法宣告
lnode
*creat_head();
//建立乙個空表
void
creat_list(lnode *,
int);
//建立乙個長度為n的線性鍊錶
void
insert_list(lnode *,
int,
int);
//插入乙個元素
intdelete_list(lnode *,
int);
//刪除乙個元素
//建立乙個空鍊錶
lnode
*creat_head() //
建立乙個長度為n的線性鍊錶
void
creat_list(lnode
*head,
intn) }
//插入乙個元素
void
insert_list(lnode
*head,
intx,
inti ) if
(p==
null)
exit(
0); s=
(llist)malloc(
sizeof
(lnode));
s->
data
=x;
s->
next=p
->
next;
p->
next
=s; }//
刪除乙個元素
intdelete_list(lnode
*head,
inti) if
(p==
null)
exit(
0); q=
p->
next;
p->
next=q
->
next; x=
q->
data;
delete(q);
return
(x);
} //
輸出void
print(lnode
*head,lnode
*p)
} //
按序號查詢
intfind(lnode
*head,lnode *p,
inti)
returnk;}
//主函式
intmain()
資料結構與演算法 鍊錶
題目 合併兩個已經排序好的鍊錶 非遞迴和遞迴兩種 方法1 cpp view plain copy print color 000000 合併鍊錶.cpp 定義控制台應用程式的入口點。include stdafx.h include using namespace std struct listnod...
資料結構與演算法 鍊錶
在講述鍊錶之前讓我們對資料結構進行乙個簡單的回顧 我們知道,資料結構指的是描述實際問題中各個資料項節點之間的前後邏輯結構關係,即要麼是線性結構 即某一資料項的前繼節點和後繼節點有且只有乙個 要麼是非線性結構 即某一資料節點的前驅或者後繼節點不止乙個 在確定了實際資料項的資料結構之後,我們要採用某種儲...
資料結構與演算法 鍊錶
反轉鍊錶 def reverse head q none p heap while p temp p.next p.next q q pp temp return p判斷鍊錶環 def meetingnode head if not head return slow head fast head.n...