PTA题集
文章平均质量分 69
个人刷题总结
檀车 侠影
这个作者很懒,什么都没留下…
展开
-
PTA题目复习 6-1 单链表逆转 (2020/12/24)
PTA题目复习 6-1 单链表逆转 (知识点总结)本题要求实现一个函数,将给定的单链表逆转。函数接口定义:List Reverse( List L );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode List; /* 定义单链表类原创 2020-12-24 11:07:05 · 654 阅读 · 0 评论 -
PTA复习 习题 3.12 另类循环队列 (知识点复习)
PTA复习 习题 3.12 另类循环队列 (知识点复习)如果用一个循环数组表示队列,并且只设队列头指针Front,不设尾指针Rear,而是另设Count记录队列中元素个数。请编写算法实现队列的入队和出队操作。函数接口定义:bool AddQ( Queue Q, ElementType X );ElementType DeleteQ( Queue Q );其中Queue结构定义如下:typedef int Position;typedef struct QNode *PtrToQNode;原创 2020-12-24 09:11:01 · 1140 阅读 · 0 评论 -
关于typedef和struct使用过程中的一些思考(2020/12/23更新)
关于typedef和struct使用过程中的一些思考以下内容所记录的内容是自己在编写ADT工具类时遇到的问题,做出一些记录,好记性不如烂笔头以下内容如有错误的地方还望不吝赐教1、C与C++中关于typedef和struct的使用辨析:题目案例1:C中定义结构体类型(简洁版 少写了类名)typedef struct { ···}Sqlist, Linklist, SqStack;注意:需要说明的是 在此处 Sqlist, Linklist, SqStack都是同一种数据类型,原创 2020-12-23 17:49:40 · 829 阅读 · 0 评论 -
PTA复习 习题3.13 双端队列
PTA复习 习题3.13 双端队列双端队列(deque,即double-ended queue的缩写)是一种具有队列和栈性质的数据结构,即可以(也只能)在线性表的两端进行插入和删除。若以顺序存储方式实现双端队列,请编写例程实现下列操作:Push(X,D):将元素X插入到双端队列D的头;Pop(D):删除双端队列D的头元素,并返回;Inject(X,D):将元素X插入到双端队列D的尾部;Eject(D):删除双端队列D的尾部元素,并返回。函数接口定义:bool Push( Element原创 2020-12-23 16:20:12 · 360 阅读 · 2 评论 -
PTA复习 6-7 在一个数组中实现两个堆栈(2020/12/23更新)
PTA复习 6-7 在一个数组中实现两个堆栈本题要求在一个数组中实现两个堆栈函数接口定义:Stack CreateStack( int MaxSize );bool Push( Stack S, ElementType X, int Tag );ElementType Pop( Stack S, int Tag );其中Tag是堆栈编号,取1或2;MaxSize堆栈数组的规模;Stack结构定义如下:typedef int Position;struct SNode { Ele原创 2020-12-22 10:30:39 · 984 阅读 · 0 评论 -
PTA复习 6-4 链式表的按序号查找
PTA复习 6-4 链式表的按序号查找本题要求实现一个函数,找到并返回链式表的第K个元素。函数接口定义:ElementType FindKth( List L, int K );其中List结构定义如下:typedef struct LNode *PtrToLNode;struct LNode { ElementType Data; PtrToLNode Next;};typedef PtrToLNode List;L是给定单链表,函数FindKth要返回链式表原创 2020-12-21 09:51:38 · 231 阅读 · 0 评论 -
PTA 复习 6-6 带头结点的链式表操作集 (知识点总结)
PTA 复习 6-6 带头结点的链式表操作集本题要求实现带头结点的链式表操作集。文章目录PTA 复习 6-6 带头结点的链式表操作集本题要求实现带头结点的链式表操作集。函数接口定义:裁判测试程序样例:输入样例:输出样例:解题代码:一、细节分析:二、知识点总结:1、有表头和没有表头的的区别:链表的基础知识:需要注意的情况:带有头结点遍历输出数据时`while (Head->Next != NULL)`不带有头结点的链表输出数据时`while (Head != NULL)`2原创 2020-12-19 20:10:41 · 640 阅读 · 2 评论 -
PTA复习 6-2 顺序表操作集 (知识点复习 易错提醒)
PTA复习 6-2 顺序表操作集 (知识点复习 易错提醒)文章目录PTA复习 6-2 顺序表操作集 (知识点复习 易错提醒)@[toc]函数接口定义:裁判测试程序样例:输入样例:输出样例:解题代码:注意事项:1、遍历线性表时出现的问题:数组元素下标法:指针法:问题代码:for语句的最后一栏最好只用来放增减条件,注意题目中的要求,还要在没有找到的时候返回`ERROR`2、子函数的生命周期(线性表的创建)为什么一定要动态开辟结构体?3、指针的运算四、总结回顾知识点:1、结构体名与首地址的关系原创 2020-12-17 19:42:04 · 457 阅读 · 0 评论 -
6-2 单链表元素定位 (12分)
6-2 单链表元素定位 (12分)本题要求在链表中查找第一个数据域取值为x的节点,返回节点的位序。L是一个带头结点的单链表,函数ListLocate_L(LinkList L, ElemType x)要求在链表中查找第一个数据域取值为x的节点,返回其位序(从1开始),查找不到则返回0。例如,原单链表各个元素节点的元素依次为1,2,3,4,则ListLocate_L(L, 1)返回1,ListLocate_L(L, 3)返回3,而ListLocate_L(L, 100)返回0。函数接口定义:int Li原创 2020-09-21 16:23:36 · 478 阅读 · 0 评论 -
PTA6-1 求出数组中最大数和次最大数
New PTA6-1 求出数组中最大数和次最大数文章目录**New PTA6-1** **求出数组中最大数和次最大数**为解决 先后交换 最大 与 次大数 顺序引起的 程序结果不同 的问题程序要求:要求定义 void fun ( int *a, int n )函数并调用,函数功能是求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调,函数形参 a 的类型是整型指针,形参n的类型是int,函数的类型是void。其中 `a`和 `n`都是用户传入的参数原创 2020-06-12 10:42:54 · 2835 阅读 · 1 评论 -
8-1 排序的递归函数设计 (20分)
从语法角度看,递归是指函数自己调用自己的现象。递归还可以看作一种复杂问题的求解策略,对复杂问题只需给出递归边界和递归关系,由此构造递归函数即可完成求解。本题要求以数组元素排序问题为例,尝试用递归的思想设计一个用于由小到大排序的递归函数。具体来说。假设存在一个10个元素组成的一维整型数组,主函数中完成数组的输入、排序函数的调用以及排序结果的输出。要求同学们基于递归的策略自己设计一个排序函数,实现数组元素由小到大的排序,给出问题分析的过程、思路描述以及递归函数的代码。====================原创 2020-06-24 10:44:16 · 299 阅读 · 0 评论 -
7-2 最佳情侣身高差 (10分)
7-2最佳情侣身高差(10分)专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。输入格式:输入第一行给出正整数N(≤10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 [1.0, 3.0] 之间的实数。..原创 2020-05-12 22:59:06 · 2258 阅读 · 0 评论 -
C语言复习笔记 :6-1 建立学生信息链表(无表头,链表基础,指向)
6-1 建立学生信息链表(无表头,链表基础,指向)2020.06.18 第一次修改如何将输入的数据组织成一张链表待解决问题:C/C++中,多个指针指向同一个内存,只能free一次当地址被释放以后,其他指针都要置为NULL,否则很容易出现野指针异常的文章目录**6-1** **建立学生信息链表**(无表头,链表基础,指向)如何将输入的数据组织成一张链表函数接口定义:裁判测试程序样例:输入样例:输出样例:分析:解题思路:每次输入一组数据就利用动态存储分配函数建立一块存储空间,直到遇到0就原创 2020-06-18 19:22:55 · 1090 阅读 · 1 评论 -
C语言复习笔记:7-1 数组中插入一个数(插入法思想,数组越界)
在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列,已知升序数组{1, 2, 4, 6, 8, 9, 12, 15, 149, 156 }。输入格式:直接输入一个整数,没有其它任何附加字符。。输出格式:输出插入元素后的升序数列,每个数输出占5列。输入样例:5输出样例: 1 2 4 5 6 8 9 12 15 149 156解答代码1:存在问题要对x在a[0]位置时额外分析,因为此时会出现将前面一个值a[-1]数值后移原创 2020-06-18 16:51:51 · 2611 阅读 · 0 评论