#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...