實現單鏈表的初始化,頭插法建表,尾插法建表,查詢元素,插入元素,刪除元素等功能
#include
using
namespace std;
#define elemtype char
typedef
struct node
node,
*linklist;
//初始化單鏈表
void
initlist
(linklist *l)
//頭插法建表
void
createfromhead
(linklist l)
else
flag=0;
}}//尾插法建表
void
createfromtail
(linklist l)
else}}
//按序號查詢
node*
get(linklist l,
int i)
p=l;
j=0;
while
((p-
>next!=
null)&&
(j(i==j)
return p;
else
}//按值查詢,返回它在鍊錶中的位置
intlocate
(linklist l,elemtype key)
else
break;}
return loc;
}//求鍊錶長度
intlen
(linklist l)
return j;
}//插入操作
void
insert
(linklist l,
int i,elemtype e)
if(pre==
null
) s=
(node *
)malloc
(sizeof
(node));
s->data=e;
s->next=pre-
>next;
pre-
>next=s;
return;}
//刪除第i個元素
void
delete
(linklist l,
int i,elemtype *e)
pre=l;
while
(pre-
>next!=
null
&&kif(pre-
>next==
null
) r=pre-
>next;
pre-
>next=r-
>next;
*e = r-
>data;
free
(r);
return;}
void
show
(linklist l)
cout<
}int
main()
if(op==1)
else
if(op==2)
else
if(op==3)
else
if(op==4)
else
if(op==5)
else
if(op==6)
cout<<
"你的操作:";}
while
(cin>>op)
;return0;
}
效果展示:
資料結構 單鏈表的基本操作
最近正好在複習資料結構,鍊錶作為比較重要的資料結構,特地自己實現了一遍。首先我們要理解幾個概念 1 鏈式儲存是最常用的儲存方式之一,可以表示線性和非線性的資料結構。2 按照鏈式儲存的線性表簡稱為鍊錶。3 單鏈表是一種鏈式訪問的資料結構,用一組位址任意的儲存單元來存放線性表中的資料元素。4 鍊錶由節點...
《資料結構》單鏈表基本操作實現
define ok 1 define error 1 typedef int elemtype typedef int status typedef struct node lnode,linklist 構造空表 status initlist linklist l void creatlist l...
資料結構2 單鏈表基本操作
單鏈表操作 初始化 建立單鏈表 尾插 判空 求長度 取第i個元素 查詢某元素位序 插入 刪除 include include define ok 1 define error 0 typedef int status typedef int elemtype typedef struct lnode...