PTA题目集
文章平均质量分 68
im.lzw
头发日渐稀少
展开
-
单链表逆转 (15 分)
6-1 单链表逆转 (15 分)本题要求实现一个函数,将给定的单链表逆转。函数接口定义:List Reverse( List L );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /...原创 2018-11-30 12:24:49 · 560 阅读 · 0 评论 -
另类循环队列 (20 分)
6-2 另类循环队列 (20 分)如果用一个循环数组表示队列,并且只设队列头指针Front,不设尾指针Rear,而是另设Count记录队列中元素个数。请编写算法实现队列的入队和出队操作。函数接口定义:bool AddQ( Queue Q, ElementType X );ElementType DeleteQ( Queue Q );其中Queue结构定义如下:type...原创 2018-12-01 17:55:14 · 1715 阅读 · 0 评论 -
在一个数组中实现两个堆栈 (20 分)
6-1 在一个数组中实现两个堆栈 (20 分)本题要求在一个数组中实现两个堆栈。函数接口定义:Stack CreateStack( int MaxSize );bool Push( Stack S, ElementType X, int Tag );ElementType Pop( Stack S, int Tag );其中Tag是堆栈编号,取1或2;MaxSize堆栈...原创 2018-12-01 17:10:00 · 1605 阅读 · 0 评论 -
重排链表 (25 分)
7-3 重排链表 (25 分)给定一个单链表 L1→L2→…→Ln−1→Ln,请编写程序将链表重新排列为 Ln→L1→Ln−1→L2→…。例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2→4→3。输入格式:每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址和结点总个数,即正整数N (≤)。结点的地址是5位非负整数,NULL地址用−1表示。接下来有N行,...原创 2018-11-30 20:24:26 · 10563 阅读 · 11 评论 -
一元多项式求导 (20 分)
7-1 一元多项式求导 (20 分)设计函数求一元多项式的导数。输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。输入样例:3 4 -5 2 6 1 -2 0输出样例:12 3 -10 1 6 0代码:...原创 2018-11-30 19:28:50 · 2372 阅读 · 0 评论 -
统计专业人数 (10 分)
6-7 统计专业人数 (10 分)本题要求实现一个函数,统计学生学号链表中专业为计算机的学生人数。链表结点定义如下:struct ListNode { char code[8]; struct ListNode *next;};这里学生的学号共7位数字,其中第2、3位是专业编号。计算机专业的编号为02。函数接口定义:int countcs( str...原创 2018-11-30 19:11:02 · 7692 阅读 · 1 评论 -
链表拼接 (15 分)
6-6 链表拼接 (15 分)本题要求实现一个合并两个有序链表的简单函数。链表结点定义如下:struct ListNode { int data; struct ListNode *next;};函数接口定义:struct ListNode *mergelists(struct ListNode *list1, struct ListNode *lis...原创 2018-11-30 15:57:20 · 1475 阅读 · 0 评论 -
删除单链表偶数节点 (15 分)
6-5 删除单链表偶数节点 (15 分)本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中偶数值的结点删除。链表结点定义如下:struct ListNode { int data; struct ListNode *next;};函数接口定义:struct ListNode *createlist();struct ListNode *...原创 2018-11-30 15:34:19 · 3843 阅读 · 0 评论 -
逆序数据建立链表 (15 分)
6-4 逆序数据建立链表 (15 分)本题要求实现一个函数,按输入数据的逆序建立一个链表。函数接口定义:struct ListNode *createlist();函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据的逆序建立一个链表,并返回链表头指针。链表节点结构定义如下:struct ListNode { in...原创 2018-11-30 15:14:17 · 9768 阅读 · 4 评论 -
学生成绩链表处理 (15 分)
6-3 学生成绩链表处理 (15 分)本题要求实现两个函数,一个将输入的学生成绩组织成单向链表;另一个将成绩低于某分数线的学生结点从链表中删除。函数接口定义:struct stud_node *createlist();struct stud_node *deletelist( struct stud_node *head, int min_score );函数create...原创 2018-11-30 15:02:27 · 4566 阅读 · 2 评论 -
带头结点的链式表操作集 (15 分)
6-2 带头结点的链式表操作集 (15 分)本题要求实现带头结点的链式表操作集。函数接口定义:List MakeEmpty();Position Find( List L, ElementType X );bool Insert( List L, ElementType X, Position P );bool Delete( List L, Position P );...原创 2018-11-30 14:39:38 · 609 阅读 · 1 评论 -
另类堆栈 (20 分)
6-3 另类堆栈 (20 分)在栈的顺序存储实现中,另有一种方法是将Top定义为栈顶的上一个位置。请编写程序实现这种定义下堆栈的入栈、出栈操作。如何判断堆栈为空或者满?函数接口定义:bool Push( Stack S, ElementType X );ElementType Pop( Stack S );其中Stack结构定义如下:typedef int Posit...原创 2018-12-01 21:48:36 · 2081 阅读 · 0 评论