建立具有10個元素的單鏈表,並能對該錶進行查詢、插入、刪除等基本操作
.cpp檔案字尾名
#include
#include
typedef
int elemtype;
typedef
struct lnode
linknode;
///單鏈表結點型別linknode
//尾插法建立單鏈表
//從一空表開始依次讀取陣列a中元素,生成結點s插入表尾,借用乙個指標r,使其始終指向當前鍊錶的表尾
void
createlist
(linknode *
&l,elemtype a,
int n)
r->next =
null;}
//輸出線性表
void
displist
(linknode *l)
printf
("\n");
}//求線性表的長度
//讓p指向頭結點,n用來累計結點的個數
intlistlength
(linknode *l)
return n;
}//插入資料元素
//找到第i-1個結點由p指向它。若第i-1個結點存在,將值為e的結點(由s指向)插入的p所指結點的後面
bool
listinsert
(linknode *
&l,int i,elemtype e)
if(p==
null
)return
false
;else
}//按元素查詢
intlocateelem
(linknode *l,elemtype e)
if(p==
null
)return0;
else
return i;
}//刪除資料元素
//找到第i-1個結點由p指向它。若第i-1個結點存在,也存在後繼結點(由q指向),則刪除q所指結點
bool
listdelete
(linknode *
&l,int i,elemtype &e)
if(p==
null
)return
false
;else
}int
main
(void
)createlist
(l,a,10)
;printf
("表長:%d\n"
,listlength
(l))
;printf
("linknode中的元素為:");
displist
(l);
printf
("請輸入需要插入元素的位置和值:");
scanf
("%d%d"
,&i,
&e);
listinsert
(l,i,e)
;printf
("表長:%d\n"
,listlength
(l))
;printf
("linknode中的元素為:");
displist
(l);
printf
("請輸入需要查詢的元素值:");
scanf
("%d"
,&e)
;printf
("%d所在的位置是:%d\n"
,e,locateelem
(l,e));
printf
("請輸入需要刪除元素的序號:");
scanf
("%d"
,&i)
;listdelete
(l,i,e)
;printf
("linknode中的元素為:");
displist
(l);
printf
("表長:%d\n"
《資料結構》單鏈表基本操作實現
define ok 1 define error 1 typedef int elemtype typedef int status typedef struct node lnode,linklist 構造空表 status initlist linklist l void creatlist l...
資料結構 單鏈表基本操作
實現單鏈表的初始化,頭插法建表,尾插法建表,查詢元素,插入元素,刪除元素等功能 include using namespace std define elemtype char typedef struct node node,linklist 初始化單鏈表 void initlist linkli...
資料結構 單鏈表基本操作 C 實現
主體使用結構體 類 模板進行實現。1.linklist.h pragma once include using namespace std template class t struct node 結點結構 node t e,node next null template class t class...