单项链接的接口问题
时间:08-26
来源:周立功单片机
点击:
53 slist_add_head(&head, &s4.node);
54 slist_add_head(&head, &s5.node);
55
56 slist_foreach(&head, list_node_process, NULL); // 遍历链表,用户参数为NULL
57 return 0;
58 }综上所述,虽然链表比数组更灵活,很容易在链表中插入和删除结点,但也失去了数组的"随机访问"能力。如果结点距离链表的开始处很近,那么访问它就会很快;如果结点靠近链表的结尾处,则访问它就会很慢。但单向链表也存在不能"回溯"的缺点,即在向链表中插入结点时,必须知道插入结点前面的结点;从链表中删除结点时,必须知道被删除结点前面的结点;很难逆向遍历链表。如果是双向链表,就可以解决这些问题。
在公众号后台回复关键字"程序设计",即可在线阅读《程序设计与数据结构》;回复关键字"编程",即可在线阅读《面向AMetal框架与接口的编程(上)》。
周立功 相关文章:
- 电源软启动的实用设计技巧(07-16)
- 周立功:动态分布内存——malloc()函数与calloc()函数(07-22)
- 周立功“程序设计与数据结构”:深度解剖动态分布内存的free()函数与realloc()函数(07-25)
- 周立功教你学程序设计技术:做好软件模块的分层设计,回调函数要这样写(07-30)
- 周立功教你学C语言编程:教你数组是如何保存指针的(07-31)
- 算法的泛化问题,这些坑你可能都经历过!|周立功教你学软件设计(08-01)