数据结构
不吃冰激凌的猫猫
孩子只是想要个赞,又有什么错呢(
展开
-
PTA 6-3 舞伴问题 (20 分) C语言
坑点!!!1.提交时一定要提交完整的函数,不要只提交DancerPartner函数中的代码2.当男士或者女士多余的时候,只输出没有配对的队头元素的姓名3.用FrontQueue_link取出队列的元素后,不要忘记用DeQueue_link删除队列的头元素。4.当输出配对的舞伴之后,要空一行再输出没有配对的题目要求假设男士和女士的记录存放在一个数组中,设计算法实现舞伴配对,要求输出配对的舞伴,并输出没有配对的队头元素的姓名。其中 dancer[]是存放男士和女士信息的数组,num是数组原创 2022-03-15 20:49:01 · 3558 阅读 · 3 评论 -
PTA 6-2 双端队列 (25 分) C语言
题目要求双端队列(deque,即double-ended queue的缩写)是一种具有队列和栈性质的数据结构,即可以(也只能)在线性表的两端进行插入和删除。若以顺序存储方式实现双端队列,请编写例程实现下列操作:Push(X,D):将元素X插入到双端队列D的头; Pop(D):删除双端队列D的头元素,并返回; Inject(X,D):将元素X插入到双端队列D的尾部; Eject(D):删除双端队列D的尾部元素,并返回。注意:Push和Inject应该在正常执行完操作后返回true,或...原创 2022-03-15 17:46:53 · 983 阅读 · 0 评论 -
PTA 6-1 另类循环队列 (25 分) C语言
题目要求如果用一个循环数组表示队列,并且只设队列头指针Front,不设尾指针Rear,而是另设Count记录队列中元素个数。请编写算法实现队列的入队和出队操作。注意:如果队列已满,AddQ函数必须输出“Queue Full”并且返回false;如果队列是空的,则DeleteQ函数必须输出“Queue Empty”,并且返回ERROR。裁判测试程序样例#include <stdio.h>#include <stdlib.h>#define ERROR -1...原创 2022-03-15 16:30:00 · 3011 阅读 · 1 评论 -
PTA 7-3 简单计算器 (20 分) C语言
本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器。如上图所示,计算器由两个堆栈组成,一个堆栈S1存放数字,另一个堆栈S2存放运算符。计算器的最下方有一个等号键,每次按下这个键,计算器就执行以下操作:从S1中弹出两个数字,顺序为n1和n2; 从S2中弹出一个运算符 op; 执行计算n2opn1; 将得到的结果压回S1。直到两个堆栈都为空时,计算结束,最后的结果将显示在屏幕上。输入格式:输入首先在第一行给出正整数 N(1<...原创 2022-03-13 19:21:05 · 3190 阅读 · 6 评论 -
PTA 6-2 另类堆栈 (15 分)
题目要求在栈的顺序存储实现中,另有一种方法是将Top定义为栈顶的上一个位置。请编写程序实现这种定义下堆栈的入栈、出栈操作。如何判断堆栈为空或者满?函数接口定义bool Push( Stack S, ElementType X );ElementType Pop( Stack S );其中Stack结构定义如下:typedef int Position;typedef struct SNode *PtrToSNode;struct SNode { ElementType原创 2022-03-13 16:07:45 · 1745 阅读 · 2 评论 -
PTA 6-1 在一个数组中实现两个堆栈 (20 分)
题目要求本题要求在一个数组中实现两个堆栈。typedef int Position;struct SNode { ElementType *Data; Position Top1, Top2; int MaxSize;};typedef struct SNode *Stack;函数接口定义Stack CreateStack( int MaxSize );bool Push( Stack S, ElementType X, int Tag );Eleme原创 2022-03-13 15:57:16 · 1874 阅读 · 0 评论 -
多项式的表示及相加(代码带注释和运行截图含完整代码)
问题描述设计一个算法,以实现一元稀疏多项式的加法运算。基本要求(1)输入并建立多项式;(2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,……,cn,en,其中n是多项式的项数,ci和ei分别是第i项的系数和指数,序列按指数降序排列;(3)多项式a和b相加,建立多项式a+b。源代码(加注释)#include <stdio.h>#include <stdlib.h>typedef struct node{ //存放系数原创 2022-03-08 17:17:36 · 1308 阅读 · 0 评论 -
线性表的链式表示(代码带注释和运行截图含完整代码)
问题描述实现带头结点的单链表的建立、求长度,取元素、修改元素、插入、删除等单链表的基本操作。基本要求(1)依次从键盘读入数据,建立带头结点的单链表;(2)输出单链表中的数据元素(3)求单链表的长度;(4)根据指定条件能够取元素和修改元素;(5)实现在指定位置插入和删除元素的功能。源代码(加注释)#include <stdio.h>#include <stdlib.h>#define ERROR NULLtypedef enum {fals原创 2022-03-08 17:10:46 · 1402 阅读 · 0 评论 -
线性表的顺序表示(代码带注释和运行截图含完整代码)
问题描述实现顺序表的建立、求长度,取元素、修改元素、插入、删除等基本操作。基本要求(1)依次从键盘读入数据,建立顺序表;(2)输出顺序表中的数据元素;(3)求顺序表的长度;(4)根据指定条件能够取元素和修改元素;(5)实现在指定位置插入和删除元素的功能。源代码(加注释)#include <stdio.h>#include <stdlib.h>#define MAXSIZE 30#define ERROR -1typedef enum {f原创 2022-03-08 16:45:10 · 1446 阅读 · 2 评论