PTA题目集
Jianbagengmu
换了id,换了我的人生的态度.
展开
-
PTA_6-6 Deque(25 分)手动实现双端队列
6-6 Deque(25 分) A “deque” is a data structure consisting of a list of items, on which the following operations are possible: Push(X,D): Insert item X on the front end of deque D. Pop(D): Remove the原创 2017-12-03 02:01:31 · 2847 阅读 · 1 评论 -
PTA_7-1 Pop Sequence(25 分)_给指定的序列压栈,可以随时出栈,问你出栈顺序是否正确
7-1 Pop Sequence(25 分)Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, ..., N and pop randomly. You are supposed to tell if a given sequence of numbers is a poss原创 2017-12-07 10:18:04 · 1852 阅读 · 0 评论 -
6-5 链栈的基本操作(10 分)PTA无法评测但是感觉写的符合要求
6-5 链栈的基本操作(10 分) S是一个顺序栈,函数Push_L(LinkStack &S, SElemType e)是在链栈中插入一个元素e,函数Pop_L(LinkStack &S, SElemType &e)是删除链栈的栈顶元素(进行此操作是保证栈里有元素),函数StackEmpty_L(LinkStack &S)是判断栈是否为空,函数StackLength_L(LinkStack &S原创 2017-11-27 16:30:13 · 1129 阅读 · 0 评论 -
6-2 Evaluate Postfix Expression(25 分)_后缀表达式求值
6-2 Evaluate Postfix Expression(25 分) Write a program to evaluate a postfix expression. You only have to handle four kinds of operators: +, -, x, and /. Format of functions:ElementType EvalPostfix( c原创 2017-11-27 14:03:45 · 5501 阅读 · 2 评论 -
PTA_6-4 另类堆栈(15 分)_单指针栈
6-4 另类堆栈(15 分) 在栈的顺序存储实现中,另有一种方法是将Top定义为栈顶的上一个位置。请编写程序实现这种定义下堆栈的入栈、出栈操作。如何判断堆栈为空或者满? 函数接口定义:bool Push( Stack S, ElementType X ); ElementType Pop( Stack S ); 其中Stack结构定义如下: typedef int Position; t原创 2017-11-27 14:02:39 · 8720 阅读 · 0 评论 -
6-1 Two Stacks In One Array-PTA双指指针stack表操作实现
6-1 Two Stacks In One Array(20 分) Write routines to implement two stacks using only one array. Your stack routines should not declare an overflow unless every slot in the array is used. Format of fun原创 2017-11-06 14:12:47 · 1480 阅读 · 0 评论 -
6-3 逆序数据建立链表(20 分)_头插法建链表
6-3 逆序数据建立链表(20 分) 本题要求实现一个函数,按输入数据的逆序建立一个链表。函数接口定义:struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据的逆序建立一个链表,并返回链表头指针。链表节点结构定义如下:struct ListNode { int data;原创 2017-10-14 13:15:22 · 16766 阅读 · 4 评论 -
6-4 建立学生信息链表(20 分)——尾插建链表_题程序访问是越界——真是醉了,你自己跑下是会抛出异常的
**6-4 建立学生信息链表(20 分)本题要求实现一个将输入的学生成绩组织成单向链表的简单函数。函数接口定义:void input();该函数利用scanf从输入中获取学生的信息,并将其组织成单向链表。链表节点结构定义如下:struct stud_node { int num; /*学号*/ char name[20]原创 2017-10-14 13:26:44 · 6733 阅读 · 0 评论 -
6-2 单链表结点删除(20 分)_单链表的删除节点的两种方式——还是双指针和链表覆盖好用
6-2 单链表结点删除(20 分) 本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:struct ListNode { int data; ListNode *next; }; 函数接口定义:struct ListNode *readlist(); struct ListNode *deletem( struct原创 2017-10-14 12:56:24 · 9068 阅读 · 0 评论 -
pta_链表_递增的整数序列链表的插入_(插入创建操作)
6-1 递增的整数序列链表的插入(15 分) 本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。 函数接口定义:List Insert( List L, ElementType X ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Dat原创 2017-10-14 09:55:43 · 2144 阅读 · 0 评论 -
6-5 链表逆置(20 分)——头插或者重开新链表头插
6-5 链表逆置(20 分) 本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头。链表结点定义如下:struct ListNode { int data; struct ListNode *next; }; 函数接口定义:struct ListNode *reverse( struct ListNode *head ); 其中head是用户传入的链表的原创 2017-10-14 20:38:54 · 7478 阅读 · 2 评论 -
6-3 在一个数组中实现两个堆栈(20 分)-pta_same_无聊的水体
6-3 在一个数组中实现两个堆栈(20 分) 本题要求在一个数组中实现两个堆栈。 函数接口定义:Stack CreateStack( int MaxSize ); bool Push( Stack S, ElementType X, int Tag ); ElementType Pop( Stack S, int Tag ); 其中Tag是堆栈编号,取1或2;MaxSize堆栈数组的规模;原创 2017-11-06 14:55:49 · 2480 阅读 · 3 评论 -
6-7 另类循环队列(20 分)
6-7 另类循环队列(20 分) 如果用一个循环数组表示队列,并且只设队列头指针Front,不设尾指针Rear,而是另设Count记录队列中元素个数。请编写算法实现队列的入队和出队操作。 函数接口定义:bool AddQ( Queue Q, ElementType X ); ElementType DeleteQ( Queue Q ); 其中Queue结构定义如下: typedef int原创 2017-12-03 03:03:43 · 8040 阅读 · 0 评论 -
PAT (Advanced Level) 1001 A+B Format
1001 A+B Format (20 分)Calculate a+b and output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than four digits).Input Speci...原创 2018-11-04 21:26:15 · 273 阅读 · 0 评论