# lec02-linkedlist **Repository Path**: se202/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**: 44 - **Created**: 2020-10-27 - **Last Updated**: 2025-01-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 链表实验 ### 作业要求 1. 完成基础部分是基本任务 2. 完成进阶部分锻炼自己,做多少是多少 ### 截止日期 下周三上课前(11.04) ### 注意 - **请大家不要压缩成rar提交** - 请直接提交.java的源代码,方便我在线直接查看 - 另外,目的是让大家学会用git管理代码,不是管理rar ### 基础 1. 用你擅长的语言实现链表 实现如下基本函数: ```js addToFront(String value); addToRear(String value); printItems(); deleteItems(String value); //假定元素不重复 findItem(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](./作业提交流程.pdf) 文件