# lec02-linkedlist **Repository Path**: liang-zhenhai/lec02-linkedlist ## Basic Information - **Project Name**: lec02-linkedlist - **Description**: 链表 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 33 - **Created**: 2020-09-23 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 链表实验 ### 作业要求 1. 完成基础部分是基本任务 2. 完成进阶部分锻炼自己,做多少是多少 ### 截止日期 下周四上课前(9.24) ### 基础 1. 用你擅长的语言实现链表 实现如下基本函数: ```js addToFront(String value); addToRear(String value); printItems(); deleteItems(String value); //假定元素不重复 findItems(String value); // 返回布尔值 size(); // 返回链表的大小 ``` 2. 在 1 的基础上实现带尾指针的链表:将 1 的代码复制一份,新建一个项目来完成。 `LinkedList`类增加:`public Node tail`; 然后完善其它函数 3. 在 2 的基础上实现双向链表:将 1 的代码复制一份,新建一个项目来完成。 `Node`类增加:`public Node prev;` // 用于指向前一个节点 然后完善其它函数 ### 进阶 1. 单链表反转 2. 两个有序的链表合并 3. 删除双向链表倒数第 n 个结点 4. 求链表的中间结点 5. LRU 缓存淘汰算法的链表实现(optional) ## 工作流程 1. Fork 本仓库 2. Clone 代码到本地 3. 切换到自己学号对应的分支 4. 完成作业 5. 提交代码 6. 新建 Pull Request ## Questions 1. 如何提交?参考作业提交流程.pdf ## Referendes 1. Java中的LinkedList源码:[Java LinkedList source code](https://hg.openjdk.java.net/jdk/jdk11/file/1ddf9a99e4ad/src/java.base/share/classes/java/util/LinkedList.java)