PTA-学校-数据结构(删除链表中的元素)
1-4 删除链表中的元素 分数 7 作者 李廷元 单位 中国民用航空飞行学院 本题要求删除链表中等于给定值val的所有节点。链表ListNode的定义已经给出。要求给出函数removeElements的实现。 函数接口定义: /** head为链表头指针;val为需要删除的值。* 函数返回值为删除val后的链表的头指针。*/struct ListNode* removeElements(struct ListNode* head, int val);/* 创建链表,细节不表 */struct ListNode* buildList();/* 打印链表,细节不表 */void printList(struct ListNode* head); 裁判测试程序样例: #include<stdio.h>#include<stdlib.h>#include<string.h>/** * Definition of ListNode */struct ListNode{ int val; struct ListNode *next;&...
PTA-学校-数据结构(递增的整数序列链表的插入)
1-3 递增的整数序列链表的插入 分数 4 作者 DS课程组 单位 浙江大学 本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。 函数接口定义: List Insert( List L, ElementType X ); 其中List结构定义如下: typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode List; /* 定义单链表类型 */ L是给定的带头结点的单链表,其结点存储的数据是递增有序的;函数Insert要将X插入L,并保持该序列的有序性,返回插入后的链表头指针。 裁判测试程序样例: #include <stdio.h>#include <stdlib.h>typedef int ElementType;typedef struct Node *PtrToNode;st...
PTA-学校-数据结构(运用顺序表实现多项式相加、合并有序数组、在顺序表 list 中查找元素 x、在顺序表 list 的第 i 个位置上插入元素x、从顺序表 list 中删除第 i 个元素、线性表循环右移、约瑟夫环、求链式表的表长、单链表逆转)
2-7 运用顺序表实现多项式相加 分数 7 作者 胡艳梅 单位 成都理工大学 本题要求输入两个一元多项式,然后输出它们的和(相加后得到的一元多项式) 输入格式: 输入一个整数n(表示输入组数),然后依次输入每一组数据: 输入一个整数A(表示多项式的项数,小于100),然后输入A对整数,每一对整数表示对应项的指数和系数。 输出格式: 对每一组输入,在一行中输出得到的一元多项式。 输入样例: 在这里给出一组输入。例如: 250 21 45 77 108 1940 32 64 195 -930 34 78 230 -35 97 21 输出样例: 在这里给出相应的输出。例如: 5x^0+4x^1+6x^2+19x^4-2x^5+10x^7+19x^87x^4+9x^5+21x^7+2x^8 邪修 解析 #include <stdio.h>#include <stdlib.h>typedef struct { int exp; int coeff;}Term;#define MAXSIZE 100int readPloy(int ...
PTA-学校-数据结构(在指定位置插入元素、集合减法、顺序表(删除))
2-4 在指定位置插入元素 分数 6 作者 张志梅 单位 青岛大学 给出 n 个整数,在指定位置 pos(位置从1起始)前插入给定的值 val,请输出插入后的整数序列。 输入格式: 包含多组测试。第一行会有一个 T 表示组数 (1<=T<=20),每组测试的第一行输入三个数 n , pos , val,第二行输入n个整数。其中,1<=n<=100,1<=pos<=n+1,1<=val<=100。 输出格式: 每组测试输出包含一行,行末不允许有多余的空格。 输入样例: 25 1 41 2 3 4 56 3 92 4 6 8 0 2 输出样例: 4 1 2 3 4 52 4 9 6 8 0 2 解析 #include <stdio.h>#include <stdlib.h>typedef int ElemType;#define MAXSIZE 100typedef struct{ ElemType *data; int length; int size;} SqList;i...
博客文章私密的办法
如何给自己的博客文章私密 第一步 安装开源插件 npm install --save hexo-blog-encrypt 安装完成后,在package.json文件的dependecies依赖中可以看到encrypt插件,证明安装成功 第二步 配置hexo中的_config.yml文件,在文件末尾添加如下代码 # 安全设置encrypt: # 启用插件 enable: true # 自定义加密相关设置 abstract: "这里的内容加密了,需要密码哦。" message: "请输入密码查看本文。" # 可以在这里设定特定标签对应的默认密码 tags: - [name: "encryptAsSecret", password: "yoursecret"] # 错误消息设置 wrong_pass_message: "密码错误,请重试。" wrong_hash_message: "内容认证失败,但仍可尝试查看。" # 是否禁用日志记录 ...
PTA-学校-数据结构(最长连续递增子序列)
2-3 最长连续递增子序列 分数 6 作者 DS课程组 单位 浙江大学 给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列。例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。 输入格式: 输入第1行给出正整数n(≤105);第2行给出n个整数,其间以空格分隔。 输出格式: 在一行中输出第一次出现的最长连续递增子序列,数字之间用空格分隔,序列结尾不能有多余空格。 输入样例: 151 9 2 5 7 3 4 6 8 0 11 15 17 17 10 输出样例: 3 4 6 8 解析 #include <stdio.h>#include <stdlib.h>#define MAXSIZE 100000typedef int ElemType;typedef struct { ElemType *data; int length; int size;}SqList;int main(){ SqList L; L.data = (ElemType...
数据结构实践教程-线性表选填
线性表习题集 一、单项选择题 基础概念题 线性表是具有 n(n≥0)n(n \geq 0)n(n≥0) 个( )的有限序列。 A. 表示素 B. 字符 C. 数据元素 D. 数据项 答案:C 最常用的操作是取第 i 个元素和找第 j 个元素的前驱,则线性表采用( )存储方式最节省时间。 A. 顺序表 B. 单链表 C. 双链表 D. 单循环链表 答案:A 若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。 A. 顺序表 B. 双链表 C. 带头结点的双循环链表 D. 单循环链表 答案:A 用数组表示线性表的优点是( )。 A. 便于插入和删除操作 B. 便于随机存取 C. 可以动态地分配存储空间 D. 不需要占用一片相邻的存储空间 答案:B 已知顺序表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( )。 A. 110 B. 108 C. 100 D. 120 答案:B 计算:100 + (5-1)×2 = 108 下列对线性表描述正确的是( )。 A. ...
