题目小练习
Captain0827
这个作者很懒,什么都没留下…
展开
-
PTA 6-2 堆排序 (10分)
本题要求实现堆排序中的筛选函数,待排序列的长度1<=n<=1000。函数接口定义:void HeapAdjust( HeapType H, int s, int m);其中L是待排序表,使排序后的数据从小到大排列。类型定义:typedef int KeyType;typedef struct { KeyType *elem; /*elem[0]一般作哨兵或缓冲区*/ int L原创 2020-06-03 14:51:36 · 9863 阅读 · 0 评论 -
PTA 6-1 归并排序(递归法) (10分)
本题要求实现二路归并排序中的归并操作,待排序列的长度1<=n<=1000。函数接口定义:void Merge(SqList L,int low,int m,int high);其中L是待排序表,使排序后的数据从小到大排列。裁判测试程序样例:#include <iostream>#include <string.h> #include <stdio.h>#include <stdlib.h>#define MAXSIZE 1000原创 2020-06-03 14:49:42 · 7706 阅读 · 5 评论 -
PTA 6-2 冒泡排序 (10分)
编程实现冒泡排序函数。void bubbleSort(int arr[], int n);。其中arr存放待排序的数据,n为数组长度(1≤n≤1000)。函数接口定义:/* 对长度为n的数组arr执行冒泡排序 */void bubbleSort(int arr[], int n);请实现bubbleSort函数,使排序后的数据从小到大排列。裁判测试程序样例:#include <stdio.h>#define N 1000int arr[N];/* 对长度为n的数组arr执原创 2020-05-29 18:31:11 · 13285 阅读 · 0 评论 -
PTA 是否二叉搜索树 (25分)
本题要求实现函数,判断给定二叉树是否二叉搜索树。函数接口定义:bool IsBST ( BinTree T );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};函数IsBST须判断给定的T是否二叉搜索树,即满足如下定义的二叉树:定义:一个二叉搜索原创 2020-05-21 14:18:38 · 1617 阅读 · 3 评论 -
PTA 6-1 二分查找 (20分)
本题要求实现二分查找算法。函数接口定义:Position BinarySearch( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXSIZE]; Position Last; /* 保存线性表中最后一个元素的位置 */};原创 2020-05-13 18:28:03 · 7407 阅读 · 0 评论 -
PTA 6-2 邻接矩阵存储图的深度优先遍历 (20分)
试实现邻接矩阵存储图的深度优先遍历。函数接口定义:void DFS( MGraph Graph, Vertex V, void (*Visit)(Vertex) );其中MGraph是邻接矩阵存储的图,定义如下:typedef struct GNode *PtrToGNode;struct GNode{ int Nv; /* 顶点数 */ int Ne; /* 边数 */ WeightType G[MaxVertexNum][MaxVertexNum]; /* 邻原创 2020-05-08 21:41:24 · 3994 阅读 · 0 评论 -
PTA 6-2 先序输出叶结点
本题要求按照先序遍历的顺序输出给定二叉树的叶结点。函数接口定义:void PreorderPrintLeaves( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Le...原创 2020-04-24 11:19:55 · 4199 阅读 · 0 评论 -
PTA 6-1 求二叉树高度
本题要求给定二叉树的高度。函数接口定义:int GetHeight( BinTree BT );其中BinTree结构定义如下:在一行中按规定顺序输出i的所有祖先结点的编号。编号间以 1 个空格分隔,行首尾不得有多余空格。typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementT...原创 2020-04-24 11:02:16 · 5083 阅读 · 0 评论 -
PTA 7-1 列出所有祖先结点
问题描述:对于给定的二叉树,本题要求你按从上到下顺序输出指定结点的所有祖先结点。输入格式:首先第一行给出一个正整数 N(≤10),为树中结点总数。树中的结点从 0 到 N−1 编号。随后 N 行,每行给出一个对应结点左右孩子的编号。如果某个孩子不存在,则在对应位置给出 “-”。编号间以 1 个空格分隔。最后一行给出一个结点的编号i(0≤i≤N-1)。输出格式:在一行中按规定顺序输出i...原创 2020-04-19 12:24:53 · 5312 阅读 · 0 评论 -
PTA 0-1背包问题(利用动态规划解决 )
问题描述:给定n(n<=100)种物品和一个背包。物品i的重量是wi,价值为vi,背包的容量为C(C<=1000)。问:应如何选择装入背包中的物品,使得装入背包中物品的总价值最大? 在选择装入背包的物品时,对每种物品i只有两个选择:装入或不装入。不能将物品i装入多次,也不能只装入部分物品i。输入格式:共有n+1行输入: 第一行为n值和c值,表示n件物品和背包容量c; 接下来的n行...原创 2020-04-08 19:29:49 · 8940 阅读 · 3 评论 -
PTA 装箱问题(C、C++都有)
问题描述:假设有N项物品,大小分别为s1、s2 、…、si 、…、sN ,其中si 为满足1≤si≤100的整数。要把这些物品装入到容量为100的一批箱子(序号1-N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号,以及放置全部物品所需的箱子数目。输入格式:输入第一行给出物品个数N(≤1000...原创 2020-04-08 16:44:06 · 1864 阅读 · 0 评论 -
PTA题目 串的模式匹配
问题描述:给定两个由英文字母组成的字符串 String 和 Pattern,要求找到 Pattern 在 String 中第一次出现的位置,并将此位置后的 String 的子串输出。如果找不到,则输出“Not Found”。本题旨在测试各种不同的匹配算法在各种数据情况下的表现。各组测试数据特点如下:数据0:小规模字符串,测试基本正确性;数据1:随机数据,String 长度为 10^5,P...原创 2020-04-03 12:09:02 · 4420 阅读 · 0 评论 -
PTA 题目 列车调度
问题描述:火车站的列车调度铁轨的结构如下图所示。两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度?输入格式:输入第一行给出...原创 2020-03-27 12:53:31 · 3212 阅读 · 0 评论 -
PTA 彩虹瓶 (25分)
问题描述:彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里。假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N)。现在工厂里有每种颜色的小球各一箱,工人需要一箱一箱地将小球从工厂里搬到装填场地。如果搬来的这箱小球正好是可以装填的颜色,就直接拆箱装填;如果不是,就把箱子先码放在一个临时货架上,码放的方法就...原创 2020-03-12 22:37:52 · 3716 阅读 · 2 评论 -
PTA自动判分 (10分)
问题描述:乒乓球早期曾采用21分制,经过改革后现在的赛制主流采用11分制,现在需要对多年比赛的统计数据进行一些分析。 具体通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。 比如现在有这么一份记录,(其中W表示我国队员获得一分,L表示外国对手获得一分): WWWWWWWWWWWWWWWWWWWWWWLW。在11分制下,此...原创 2020-03-12 20:47:52 · 3233 阅读 · 0 评论 -
PTA 7-1 符号配对 (20分)解析
请编写程序检查C语言源程序中下列符号是否配对:/与/、(与)、[与]、{与}。输入格式:输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查配对的符号不超过100个。输出格式:首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则输出左符号-...原创 2020-03-12 15:31:24 · 5287 阅读 · 1 评论 -
7-4 链表去重 (25分)
题目要求给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉。即对每个键值 K,只有第一个绝对值等于 K 的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15,你需要输出去重后的链表 21→-15→-7,还有被删除的链表 -15→15。输入格式:输入在第一行给出 L 的第一个结点的地址和一个正整数 N(≤10^5 ,...原创 2020-03-07 16:05:47 · 1231 阅读 · 0 评论