数据结构
数据结构与算法
besplendid
。
展开
-
pta 1-7 两个有序链表序列的交集
已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3。原创 2024-03-28 21:25:53 · 276 阅读 · 0 评论 -
pta 1-9 最长连续递增子序列
给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列。例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。原创 2024-03-28 21:35:15 · 181 阅读 · 0 评论 -
pta 1-2 链表逆置
本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头。链表结点定义如下: 函数接口定义: 裁判测试程序样例: 输入样例: 输出样例: 代码长度限制16 KB时间限制400 ms内存限制64 MB答案:原创 2024-03-28 20:47:25 · 131 阅读 · 0 评论 -
pta 1-6 求链式线性表的倒数第K项
给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。原创 2024-03-28 21:20:05 · 246 阅读 · 0 评论 -
pta 1-5线性表元素的区间删除
给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储,并且相对位置不能改变。原创 2024-03-28 21:12:09 · 259 阅读 · 0 评论 -
pta 2-2 学生成绩链表处理(20分)
函数createlist利用scanf从输入中获取学生的信息,将其组织成单向链表,并返回链表头指针。int num;/*学号*//*姓名*/int score;/*成绩*//*指向下个结点的指针*/输入为若干个学生的信息(学号、姓名、成绩),当输入学号为0时结束。函数deletelist从以head为头指针的链表中删除成绩低于min_score的学生,并返回结果链表的头指针。原创 2024-03-28 20:36:15 · 217 阅读 · 0 评论 -
pta 1-3递增的整数序列链表的插入
其中List/* 存储结点数据 *//* 指向下一个结点的指针 *//* 定义单链表类型 */L是给定的带头结点的单链表,其结点存储的数据是递增有序的;函数Insert要将X插入L,并保持该序列的有序性,返回插入后的链表头指针。原创 2024-03-28 21:03:38 · 193 阅读 · 0 评论 -
pta 1-8 数组循环左移
本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置,即将a中的数据由(a0a1⋯an−1)变换为(am⋯an−1a0a1⋯am−1)(最前面的m个数循环移至最后面的m个位置)。如果还需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?原创 2024-03-28 21:31:34 · 183 阅读 · 0 评论 -
pta 1-10 链表去重
给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉。即对每个键值 K,只有第一个绝对值等于 K 的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15,你需要输出去重后的链表 21→-15→-7,还有被删除的链表 -15→15。原创 2024-03-28 21:39:44 · 450 阅读 · 0 评论