链表这种数据结构好不好
1个回答
展开全部
链表是指针与结构体类型的一种结合体,对于初学者来说,也是一种比较难以掌握的数据结构,但链表是一种非常重要的数据结构,是构成大量复杂数据结构和实现复杂算法的基础。
应该说,链表的思想还是很基础、很生活化的。就如小朋友玩的“老虎抓羊”的游戏,小朋友一个抓着一个的衣裳,形式一串(相当于链表),由一个领头的小朋友(相当于链首指针)来控制,“老虎”可以顺着这个领头的小朋友,通过他们的手一个一个往下找(相当于查找链表),而当找到一个小朋友时,即认为该小朋友出局,他只需把手放开,后续小朋友的手抓住出局小朋友的前面的小朋友的手即可以(相当于从链表删除一个节点),而如有一个小朋友想参加游戏时,他只需要把手拉住最后一个小朋友的衣裳或按某种规则插入到小朋友拉成的链中(相当于链表的插入)。
计算机中实用的链表的每一个节点都应该包含两个部分:节点数据和指向下一节点的指针。因为下一节点具有与该节点相同的结构,所以链表节点的类型定义时,需要引用正在定义的类型的本身。
与数组相比,链表在插入和删除节点时比数据元素的插入和删除要简单,开销更小,但链表不可随机访问它的节点,只能通过指向链表表头的指针顺序访问相应的节点。
应该说,链表的思想还是很基础、很生活化的。就如小朋友玩的“老虎抓羊”的游戏,小朋友一个抓着一个的衣裳,形式一串(相当于链表),由一个领头的小朋友(相当于链首指针)来控制,“老虎”可以顺着这个领头的小朋友,通过他们的手一个一个往下找(相当于查找链表),而当找到一个小朋友时,即认为该小朋友出局,他只需把手放开,后续小朋友的手抓住出局小朋友的前面的小朋友的手即可以(相当于从链表删除一个节点),而如有一个小朋友想参加游戏时,他只需要把手拉住最后一个小朋友的衣裳或按某种规则插入到小朋友拉成的链中(相当于链表的插入)。
计算机中实用的链表的每一个节点都应该包含两个部分:节点数据和指向下一节点的指针。因为下一节点具有与该节点相同的结构,所以链表节点的类型定义时,需要引用正在定义的类型的本身。
与数组相比,链表在插入和删除节点时比数据元素的插入和删除要简单,开销更小,但链表不可随机访问它的节点,只能通过指向链表表头的指针顺序访问相应的节点。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询