自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 5696: 数据结构实验:二叉堆

二叉堆是一种特殊的堆,二叉堆是完全二叉树或者是近似完全二叉树。二叉堆有两种:最大堆和最小堆。最大堆:父结点的键值总是大于或等于任何一个子节点的键值;最小堆:父结点的键值总是小于或等于任何一个子节点的键值。本题要求实现一个最小二叉堆,采用顺序结构存储。部分代码已经完成,提交时请勿包含。GCCint main(){char cmd[10];int x;while(scanf("%s", cmd)!=EOF){if(strcmp(cmd, “Push”)==0){scanf("%d", &

2020-11-13 16:13:54 178

原创 5487: 栈之应用

放暑假了,小W要乘高铁回家,在火车站,小W看着来来往往的列车,想到了一个问题:在火车出现之初,车站往往只有一条铁轨停靠列车,所有的列车都是从一个方向进入,从另一个方向离开,如果列车A先进入,列车B再进入,B要先离开,A才能离开。如下面图示。小W想:若是最多有9列火车进站(所有火车都有编号1-n),有两个序列是由列车编号组成的,如果所有列车按照序列1的顺序进入,能否按照序列2的顺序离开呢?请你帮助小W解决这个问题。输入输入数据有多组,每组数据包含一个整数,是列车数,整数后面是两个序列,代表列车进入的序列

2020-10-07 22:23:56 350

原创 5225: 玩转二叉树

给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。输入输入第一行给出一个正整数N(N≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。输出在一行中输出该树反转后的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。样例输入71 2 3 4 5 6 74 1 3 2 6 5 7样例输出4 6 1 7 5 3 2

2020-10-05 20:41:28 174

原创 4405:先序遍历二叉树

给定一颗二叉树,要求输出二叉树的深度以及先序遍历二叉树得到的序列。本题假设二叉树的结点数不超过1000。输入输入数据分为多组,第一行是测试数据的组数n,下面的n行分别代表一棵二叉树。每棵二叉树的结点均为正整数,数据为0代表当前结点为空,数据为-1代表二叉树数据输入结束,-1不作处理。二叉树的构造按照层次顺序(即第1层1个整数,第2层2个,第3层4个,第4层有8个…,如果某个结点不存在以0代替),比如输入:1 2 0 3 4 -1得到的二叉树如下:输出输出每棵二叉树的深度以及先序遍历二叉树得到的序

2020-10-04 15:42:23 475 2

原创 5667: 数据结构实验:链式队列

创建一个链式队列,能够完成队列的初始化、入队、出队、获取队首和队尾元素、销毁队列等操作。队列结构(队列含头结点)定义如下:typedef int Elemtype;typedef struct Node//队列元素{Elemtype data;//数据域struct Node *next;//指向下一个元素}QNode;typedef struct//队列{ QNode *front;//队列头结点 QNode *tail;//指向队尾元素}LinkQ

2020-09-25 19:01:53 765

原创 4770: 栈操作

定义一个栈,可以对栈进行“压入堆栈”、“弹出栈顶元素”、“清空堆栈”、“获取栈顶元素”等操作。键盘输入一些命令,可以执行上述操作。本题中,栈元素均为整数。栈的最大元素个数为1000。输入输入各个命令,它们对应的格式如下:压入堆栈:push a,a代表压入堆栈的元素,这里push和元素之间用空格分隔。清空堆栈:clear获取栈顶元素:top弹出栈顶元素:pop当输入的命令为exit时,程序结束。输出当输入的命令为pop时,请输出弹出的元素值。当输入的命令是top时,请输出当前栈顶元素值。

2020-09-19 09:57:14 166

原创 5639: 数据结构实验:顺序表操作

对以顺序存储结构存储的线性表,验证其建表、初始化、插入、删除、索引、查找、就地逆置、销毁等操作。顺序表定义如下:typedef int Elemtype;typedef struct{Elemtype *data;int length;}SeqList;部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。C++//打印void PrintSeqList(SeqList &L){int i;for(i=0;i<L.length;i++){if(i)p

2020-09-16 14:43:30 765 1

原创 C++实验:栈类模板

实现一个栈类模板,能够进行压栈、出栈、获取栈顶元素等操作。命令格式如下:(1)Push x:将x压入栈(2)Pop:出栈(3)Top:获取栈顶元素主函数里的代码已经给出,请补充完整,提交时请勿包含已经给出的代码。C++int main(){Stack<int, 10> st;//栈最多10个元素string cmd;while(cin>>cmd){try{if(cmd==“Push”){int x;cin>>x;st.Push(x);

2020-09-14 11:08:44 1710

原创 1218: 数据结构练习题――栈

请你定义一个栈,可以对栈进行“压入堆栈”、“弹出栈顶元素”、“清空堆栈”、“获取栈顶元素”等操作。键盘输入一些命令,可以执行上述操作。本题中,栈元素均为整数。栈的最大元素个数为1000。输入输入各个命令,它们对应的格式如下:压入堆栈:push a,a代表压入堆栈的元素,这里push和元素之间用空格分隔。清空堆栈:clear获取栈顶元素:top弹出栈顶元素:pop当输入的命令为exit时,程序结束。输出当输入的命令为pop时,请输出弹出的元素值。当输入的命令是top时,请输出当前栈顶元素值

2020-09-14 10:25:56 466

原创 2958: 链表基本操作

已知一个线性表,要求删除线性表内大于等于MIN且小于等于MAX的数,并输出删除后的线性表输入第一行包含一个数T表示有T组数据每组数据第一行包含3个数字N,MIN,MAX,分别表示有N(N<=20000)个数据,删除范围为MIN-MAX第二行包含初始的N个数据输出输出删除数据后的线性表样例输入23 1 21 2 35 2 11 1 1 1 1样例输出31 1 1 1 1#include<iostream>using namespace std;struc

2020-09-09 12:43:41 203 1

原创 5347: 数据结构实验:删除链表元素

完成链表的创建、元素查找和删除等操作。部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。GCCC++11void PrintLinkList(Node *head){int flag = 0;Node *p = head->next, *q;while§{if(flag)printf(" “);flag = 1;printf(”%d", p->data);q = p;p = p->next;free(q);}free(head);}int m

2020-09-08 18:57:19 542

原创 5338: 数据结构实验:创建单链表

根据输入的值创建一个不带头结点的单链表。部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。C++11void PrintLinkList(Node *head){int flag = 0;Node *p = head, *q;while§{if(flag)printf(" “);flag = 1;printf(”%d", p->data);q = p;p = p->next;free(q);}}int main(){int n;scanf("%

2020-09-07 10:32:34 618

原创 5363: C++实验:STL之vector2

依次输入n个整数,每次输入时检查该值是否已经出现在vector中,如果存在则不插入,否则将其插入到开头位置。部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。C++int main(){vector vec;int n, x;cin>>n;while(n–){cin>>x;Insert(vec, x);}for(vector::iterator it=vec.begin();it!=vec.end();it++){cout<<*it

2020-08-26 21:21:56 240

原创 1215: 数据结构练习题――合并表

已知va和vb分别为非递减有序线性表,将va和vb进行合并为新的线性表vc,并保持vc仍然非递减有序。本题中,线性表元素为整数。线性表的最大长度为1000。输入输入数据有多组,第一行为测试数据的组数t,接下来为2t行,每一组测试数据有两行:第一行的第一个数为va的元素个数n,后面是n个整数,代表va的所有元素第二行的第一个数为vb的元素个数m,后面是m个整数,代表vb的所有元素输出输出合并后的长度以及vc的所有元素样例输入22 1 22 2 33 1 2 33 4 5 6样例输出

2020-08-25 12:05:26 440 1

原创 5242: C++实验:++运算符函数重载

定义一个整数类,实现其++运算符函数。主函数里的代码已经给出,请补充完整,提交时请勿包含已经给出的代码。C++class Integer;int main(){Integer a;while(cin>>a){Integer b = ++a;Integer c = b++;cout<<b<<" "<<c<<endl;}return 0;}输入输入数据有多组,每组一行一个整数。输出输出给定程序执行前缀/后缀++后的结

2020-08-23 19:35:08 307

原创 TZOJ1214: 数据结构练习题――线性表操作

请你定义一个线性表,可以对表进行“在某个位置之前插入一个元素”、“删除某个位置的元素”、“清除所有元素”、“获取某个位置的元素”等操作。键盘输入一些命令,可以执行上述操作。本题中,线性表元素为整数,线性表的第一个元素位置为1。线性表的最大长度为1000。输入各个命令以及相关数据,它们对应的格式如下:在某个位置之前插入操作:insert,接下来的一行是插入的组数n,下面是n行数据,每行数据有两个值,分别代表位置与插入的元素值清除线性表:clear获取某个位置的元素:getelem,接下来一行是需要获

2020-08-23 17:18:10 982

原创 TZOJ 5257

编写日期类,将日期格式化输出。主函数里的代码已经给出,请补充完整,提交时请勿包含已经给出的代码。C++int main(){int y, m, d;while(cin>>y>>m>>d){CDate date(y, m, d);cout<<(string)date<<endl;}}输入输入数据有多组,每组一行,包括年、月、日三个正整数。输入保证日期正确。输出每组输出格式化后的日期,见样例。样例输入2000 2 2

2020-08-23 17:15:19 657

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除