# 数据结构-LinearList **Repository Path**: Dollhearted/LinearList ## Basic Information - **Project Name**: 数据结构-LinearList - **Description**: 数据结构作业LinearList - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-09 - **Last Updated**: 2025-10-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数据结构作业-LinearList #### 必做题 1. 实现顺序表的以下基本操作,注意观察分析所写算法的复杂度 * 创建一个顺序表 * 向顺序表中插入元素 * 删除顺序表中的某个元素 * 查找顺序表中的元素(按值找、按序号找) * 输出顺序表中的元素 * 计算顺序表中所有元素的平均值(仅保留整数部分,不四舍五入),并将这个值插入到顺序表的中间位置(若为双数,则存至较小的位置)。若顺序表为空则显示出错信息并退出运行。 2. 实现链表的以下基本操作(注意链表里指针的指向): * 创建一个链表(头插法、尾插法) * 向链表中插入元素 * 删除链表中的某个元素 * 查找链表中的元素(按值找、按序号找) * 输出链表中的元素 3. 已知不带头结点的非空线性链表第一个链结点的指针为list,请写一算法,将一个链表倒置。 * 例如:链表中内容为1 2 3 4 5,倒置后为5 4 3 2 1。 4. 实现双向链表,内容包括建立、插入、查找和删除。 * 双向链表的插入和删除,要实现三种情况:工作指针分别在要插入或删除位置的前驱、当前位置、和后继。 5. 利用链表结构解决多项式操作问题。 * 实现多项式的创建; * 实现多项式的加减操作; * 实现多项式的乘法操作; #### 选做题 1. 已知某顺序结构线性表的结构如下: struct List { int data[MAXLENGTH]; int length; }; 请编写算法,将表中的元素向右移n位,表尾元素移至表头。 例如,原表为(1,2,3,4,5),则将其右移3位后得到表(3,4,5,1,2)。 2. 使用静态链表完成之前的内容。 3. 编写程序,实现输入一个数字n,输出双向链表中第n位的前驱与后继。 4. 编写程序,实现约瑟夫环的求解问题。 #### 附件提交说明 1. 上机报告(word版):上机报告中应包括各个上机题的题目、源码、执行过程和结果截图等; 2. 源代码及可执行程序。 3. 编程语言:C、C++ #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)