有關單鏈表的操作

2021-09-30 06:09:32 字數 1156 閱讀 2158

單鏈表型別描述

typedef char datatype; //假設結點的資料域型別為字元

typedef struct nodelistnode;

typedef listnode *linklist;

listnode *p;

linklist head;

①生成結點變數的標準函式

p=( listnode *)malloc(sizeof(listnode));

//函式malloc分配乙個型別為listnode的結點變數的空間,並將其首位址放入指標變數p中

②釋放結點變數空間的標準函式

free(p);//釋放p所指的結點變數空間

③結點分量的訪問

利用結點變數的名字*p訪問結點分量

方法一:(*p).data和(*p).next

方法二:p-﹥data和p-﹥next

(1) 頭插法建表

linklist creatlistf(void)

return head;

} (2) 尾插法建表

linklist creatlistr(void)

//endwhile

if (r!=null)

r->next=null;//對於非空表,將尾結點指標域置空head=s;

return head;

} (3) 尾插法建帶頭結點的單鏈表

linklist creatlistr1(void)

r->next=null;//終端結點的指標域置空,或空表的頭結點指標域置空

return head;

} (1)按序號查詢

listnode* getnode(linklist head,int i)

if(i==j)

return p;//找到了第i個結點

else return null;//當i<0或i>0時,找不到第i個結點

} (2) 按值查詢

listnode* locatenode (linklist head,datatype key)

3.插入運算

void insertlist(linklist head,datatype x,int i)

4.刪除運算

void deletelist(linklist head,int i)

單鏈表的操作

單鏈表是一種非常重要的資料結構,下面用c語言對單鏈表的操作做乙個簡單的總結 typedef struct nodenode,linklist 1 單鏈表的建立 建立乙個單鏈表,鍊錶裡面存放有十個偶數 2到20 有頭節點,頭節點不存放元素。linklist createlinklist return ...

單鏈表的操作

1.定義單鏈表的介面函式 ifndef linklist h define linklist h typedef int elemtype typedef struct node node node initnode bool addnode node head,elemtype data 頭插法 ...

單鏈表的操作

pragma once extern c list node,list link 頭插建立鍊錶 list link create list head int n 尾插法建立鍊錶 list link creat list tail int n 獲取長度 int get list length list...