2013-08-23
展开全部
单链表可以实现数组不能实现的一个功能(不知道具体长度时给定义),不是顺序结构,在内存是随机存储.
也就是说,如果你用来定义一个不知道大小的东西,例如 student 这个变量,如果用数组来实现学生的记录,那样就必须给出数组的大小,这个还好,数量给个 999999 就能搞定,但如果是 DNA 呢?每个人都有一种,据说是不同的,这样你怎么存储?那就用链表来实现,数组的大小是 int 的最大值.
单向只能向后查询,因为后面的没有前面的地址记录.简单结构上,用这个就行.
如果需要双向查询,那就需要用到双链表,这个要用两个地址来做连接位置的记录(一个记录下一个的连接内存地址,另一个是前面的.这样就能实现双向的移动).复杂的结构或者实现多功能的话,就用这个吧.
链表不是用单一的变量,而是用 结构体或类 的对象.这个要注意.
也就是说,如果你用来定义一个不知道大小的东西,例如 student 这个变量,如果用数组来实现学生的记录,那样就必须给出数组的大小,这个还好,数量给个 999999 就能搞定,但如果是 DNA 呢?每个人都有一种,据说是不同的,这样你怎么存储?那就用链表来实现,数组的大小是 int 的最大值.
单向只能向后查询,因为后面的没有前面的地址记录.简单结构上,用这个就行.
如果需要双向查询,那就需要用到双链表,这个要用两个地址来做连接位置的记录(一个记录下一个的连接内存地址,另一个是前面的.这样就能实现双向的移动).复杂的结构或者实现多功能的话,就用这个吧.
链表不是用单一的变量,而是用 结构体或类 的对象.这个要注意.
2013-08-23
展开全部
单链表只能从前面往后查找,双链表可以从后面向前查找。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-23
展开全部
提供更加灵活的存储方式,如二叉树检索
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单向链表内存占用比双向的少
双向的在某些查找中比单向的快,比如你有一个节点,要找它的前节点
单向链表的话,你必须从头节点开始遍历,而双向链表的节点中本身就有前节点信息
用什么取决你实际的需要
双向的在某些查找中比单向的快,比如你有一个节点,要找它的前节点
单向链表的话,你必须从头节点开始遍历,而双向链表的节点中本身就有前节点信息
用什么取决你实际的需要
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询