链表的出现是因为,在许多业务场景中,需要添加、删除操作,使用数组进行操作会导致大量的数据移动,或者浪费大量的存储空间。 所以链表应运而生。
链表是一种线性表,它像一条链子,每个节点有两个部分。 一个可能包含数据元素的数据域,另一个可能包含多种不同类型的数据。 另一个是存储下一个节点地址的指针域。 删除操作非常方便。 当然,由于是链式结构,一般的链表不具备像数组那样从数组下标直接随机访问的能力。
typedef struct Node{ int data; struct Node *next; }LNode,*LinkList; int main () { LNode point1={1,NULL}; } 12345678链表和数组的比较数组: int i; intarray [ ]={ 1,2,3 }; for(I=0; Isizeof(array )/sizeof ) array[0]; I ) printf(array[%d]=%dn ),I,array[i]; (}:Wq 123456
链表LNode point1={1,NULL}; LNode point2={2,NULL}; LNode point3={3,NULL}; point1.next=point2; point2.next=point3; printf(P1data=%d,p2data=%d,p3data=%dn ',point1.data,point1.next-data,point1.next-next-data