鍊錶的基本操作

2021-09-30 01:48:21 字數 1807 閱讀 1171

#include

#include

#include

typedef

int elemtype;

// 定義元素的型別為整型

typedef

int status;

// 定義狀態型別

#define error 0

#define ok 1

typedef

struct lnode lnode,

*linklist;

// 定義節點型別以及鍊錶型別(鍊錶型別實際上是乙個節點指標型別)

status getelem_l

(linklist &l,

int i, elemtype &e)if(

!p || j > i)

return error;

// 第i個元素不存在

e = p-

>data;

// 取第i個元素

return ok;

}// getelem_l

status insert

(linklist &l,

int i, elemtype e)if(

!p || j > i -1)

return error;

// i小於1或者大於表長

s =(linklist)

malloc

(sizeof

(lnode));

// 生成新結點

s->data = e;

s->next = p-

>next;

// 插入l中

p->next = s;

return ok;

}// linstinsert_l

status cut

(linklist &l,

int i, elemtype &e)if(

!(p-

>next)

|| j > i -1)

return error;

// 刪除位置不合理

q = p-

>next;

p->next = q-

>next;

// 刪除並釋放結點

e = q-

>data;

free

(q);

return ok;

}// cut

void

create

(linklist &l,

int n)

}// create

intshow

(linklist l)

numoflist++

;// 元素的數目加1

printf

("%d"

,p->data)

;// 輸出元素

p = p-

>next;

// 指標向後移動}if

(numoflist ==0)

else

}int

main()

else

}elseif(

strcmp

(strinst,

"insert")==

0)else

}elseif(

strcmp

(strinst,

"delete")==

0)else

}elseif(

strcmp

(strinst,

"show")==

0)}}

return0;

}

鍊錶的基本操作

include include include include using namespace std struct listnode void initnode listnode node bool isempty listnode head void pushfront listnode hea...

鍊錶的基本操作

鍊錶操作是最基本的 必須掌握的知識點,最好滾瓜爛熟,透徹理解。工作時間短用的也不夠頻繁,還是總結一下比較好,以加強鞏固。1.單鏈表 結點形式 區分幾個概念 首節點 第乙個元素所在節點。頭指標 指向首節點的指標。頭結點 為了操作方便,在第乙個節點之前附設的乙個結點,此時指向頭結點的為頭指標。基本操作 ...

鍊錶的基本操作。。。

include node.h 列印鍊錶 void print node head printf n 從尾部插入 void insert tail node head,const int d while t next null t next p p next null 從頭部插入 void inser...