链表
# 1. 什么是链表
要保存多个数据数据时,数组往往是我们最符合直觉的选择,通过索引访问数组中的元素也十分方便。但是在很多编程语言中,数组声明以后长度是固定的,从头部或中间插入数据很麻烦,因为右的所有元素都要向后移动,删除元素的情况也样如此。而且当数组元素放满之后,再推入新的元素也很麻烦。
# 2. 链表实现
# 3. 双向链表
# 4. 循环链表
# 5. 有序链表
# 6. 算法练习
传说在公元1世纪的犹太战争中,犹太历史学家弗拉维奥·约瑟夫斯和他的40个同胞被罗马士兵包围。犹太士兵决定宁可自杀也不做俘虏,于是商量出了一个自杀方案。他们围成一个圈,从一个人开始,数到第三个人时将第三个人杀死,然后再数,直到杀光所有人。约瑟夫和另外一个人决定不参加这个疯狂的游戏,他们快速地计算出了两个位置,站在那里得以幸存。写一段程序将n个人围成一圈,并且第m个人会被杀掉,计算一圈人中哪两个人最后会存活。使用循环链表解决该问题。
编辑 (opens new window)
上次更新: 2023/02/03, 20:13:11