鍊錶基本操作函式,完成帶頭結點的鍊錶函式的定義
鍊錶長度,鍊錶元素輸出,查詢第i個節點的指標,指定位置插入元素, 查詢某元素的鍊錶結點位置
#include
#include
using namespace std;
typedef
struct list
*list, lnode;
void
initlist
(list *l)
/* 初始化鍊錶 */
intlength
(list l)
//帶頭結點的單鏈表長度
return j;
}void
outputlist
(list l)
}//*查詢第i個節點的指標
lnode *
find
(list l,
int i)
if(i == j)
return
(p);
else
return
null;}
void
insertlist1
(list l,
int item,
int rc)
/* 向鍊錶指定位置[rc]插入元素[item]*/
}void
order
(list l)
//排序,鍊錶變為公升序
//插入合適位置
l2->next = l1;
pre->next = l2;}}
void
insertlist2
(list l,
int item)
/* 向有序鍊錶l插入鍵值為[item]的結點 */
s =(lnode*
)malloc
(sizeof
(lnode));
s->data = item;
s->next = q;
p->next = s;
cout <<
"將l變為有序表,在有序表中插入元素"
<< item <<
"後為:"
<< endl;
outputlist
(l);
}/* 查詢鍵值為[item]的鍊錶結點位置, 返回》=1: 找到 -1: 沒找到 */
intfindlist
(list l,
int item)
if(p->data == item)
return j;
else
return-1
;}/* 刪除鍵值為[item]的鍊錶結點, 返回0: 刪除成功 1: 沒找到 */
intdeletelist
(list l,
int item)
else
return1;
}//輸出鍊錶元素
void
main()
注:鍊錶中的元素是insertlist1(l, x, i)逐個插入的,鍊錶中的元素已預定義好。
測試示例:
資料結構 鍊錶
鍊錶 what 就是一張鏈式儲存的表,是一種資料結構,是基礎,所以還是不要想有什麼用。具體呢?在c中就用結構體實現物件描述,然後通過函式來實現各個基本操作 c 則用類來表述,c中的結構體就可以看成c 中的類,然後通過類封裝各個操作步驟。這些操作實現後就需要 來測試,號稱demo,就是main函式裡面...
資料結構 鍊錶
鍊錶中的資料是以節點來表示的,每個結點的構成 元素 資料元素的映象 指標 指示後繼元素儲存位置 元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料。鍊錶的結點結構 data next data域 存放結點值的資料域 next域 存放結點的直接後繼的位址 位置 的指標域 鏈域 以 結點的序列 ...
資料結構 鍊錶
一般的建立線性鍊錶有兩種 1.正序法 需要三個指標,head作為頭指標,pre作為前乙個指標,cur作為當前指標用來建立空間 2.倒序法,利用指標的插入,只需要兩個指標,不斷的往頭指標後插入新空間,不過插入的越早,離頭指標越遠,也就越後面輸出 1.線性鍊錶的建立及查詢刪除 include inclu...