PTA
Whale_XM
这个作者很懒,什么都没留下…
展开
-
6-2 直接插入排序 (10 分)
本题要求实现直接插入排序函数,待排序列的长度1<=n<=1000。函数接口定义:void InsertSort(SqList L);其中L是待排序表,使排序后的数据从小到大排列。类型定义:typedef int KeyType;typedef struct {KeyType *elem; /elem[0]一般作哨兵或缓冲区/int Length;}SqList...原创 2019-11-13 19:45:41 · 4946 阅读 · 1 评论 -
6-1 分离链接法的删除操作函数 (20 分)
试实现分离链接法的删除操作函数。函数接口定义:bool Delete( HashTable H, ElementType Key );其中HashTable是分离链接散列表,定义如下:typedef struct LNode *PtrToLNode;struct LNode {ElementType Data;PtrToLNode Next;};typedef PtrToLNod...原创 2019-11-13 19:44:26 · 1936 阅读 · 1 评论 -
PTA-6-2 是否二叉搜索树 (25 分)
本题要求实现函数,判断给定二叉树是否二叉搜索树。函数接口定义:bool IsBST ( BinTree T );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree...原创 2019-11-11 19:59:22 · 2403 阅读 · 0 评论 -
7-1 根据后序和中序遍历输出先序遍历 (25 分)
本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果。输入格式:第一行给出正整数N(≤30),是树中结点的个数。随后两行,每行给出N个整数,分别对应后序遍历和中序遍历结果,数字间以空格分隔。题目保证输入正确对应一棵二叉树。输出格式:在一行中输出Preorder:以及该树的先序遍历结果。数字间有1个空格,行末不得有多余空格。输入样例:72 3 1 5 7 6 4...原创 2019-10-14 20:41:14 · 2283 阅读 · 0 评论 -
7-2 输出全排列 (20 分)
请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间。输入格式:输入给出正整数n(<10)。输出格式:输出1到n的全排列。每种排列占一行,数字间无空格。排列的输出顺序为字典序,即序列a1 ,a2 ,⋯,an 排在序列b1 ,b2 ,⋯,bn 之前,如果存在k使...原创 2019-10-11 14:15:46 · 6644 阅读 · 1 评论 -
7-3 求前缀表达式的值 (25 分)
算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,例如2+3*(7-4)+8/4的前缀表达式是:+ + 2 * 3 - 7 4 / 8 4。请设计程序计算前缀表达式的结果值。输入格式:输入在一行内给出不超过30个字符的前缀表达式,只包含+、-、*、/以及运算数,不同对象(运算数、运算符号)之间以空格分隔。输出格式:输出前缀表达式的运算结果,保留...原创 2019-10-11 14:13:51 · 3410 阅读 · 0 评论 -
7-2 求链式线性表的倒数第K项 (20 分)
给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。输入格式:输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。输出格式:输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。输入样例:4 1 2 3 4 5 6 7 8 9 0 -1输出样例:7#include<stdio.h>...原创 2019-09-18 20:40:23 · 1564 阅读 · 2 评论 -
7-1 一元多项式求导 (20 分)
设计函数求一元多项式的导数。输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。输入样例:3 4 -5 2 6 1 -2 0输出样例:12 3 -10 1 6 0//第一个判断点是样例,第二个是输入,第四个是输出#includ...原创 2019-09-18 20:15:03 · 3178 阅读 · 0 评论 -
7-1 数组循环左移 (20 分)
本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置,即将a中的数据由(a0a1⋯an−1 )变换为(am⋯an−1 a0 a1 ⋯am−1 )(最前面的m个数循环移至最后面的m个位置)。如果还需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:输...原创 2019-09-05 07:58:01 · 4903 阅读 · 0 评论 -
7-2 最长连续递增子序列 (20 分)
给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列。例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。输入格式:输入第1行给出正整数n(≤105 );第2行给出n个整数,其间以空格分隔。输出格式:在一行中输出第一次出现的最长连续递增子序列,数字之间用空格分隔,序列结尾不能有多余空格。输入样例:151 9 2 5 ...原创 2019-09-06 20:29:56 · 2699 阅读 · 0 评论 -
7-1 两个有序链表序列的合并
已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 3 5 -12 4 6 8 10 -1输出样...原创 2019-09-10 19:44:04 · 1376 阅读 · 0 评论