数据结构OJ
数据结构OpenJudge练习题
SuperSources
这个作者很懒,什么都没留下…
展开
-
【数据结构】矩阵交换行
描述编写一个函数,输入参数是55的二维数组,和n,m两个行下标。功能:判断n,m是否在数组范围内,如果不在,则返回0;如果在范围内,则将n行和m行交换,并返回1。在main函数中, 生成一个55的矩阵,输入矩阵数据,并输入n,m的值。调用前面的函数。如果返回值为0,输出error。如果返回值为1,输出交换n,m后的新矩阵。输入5*5矩阵的数据,以及n和m的值。输出如果不可交换,则输出e...原创 2019-11-26 22:17:26 · 1666 阅读 · 0 评论 -
【数据结构】字符串加密
描述现要对一个由大写字母组成的字符串进行加密,有两种加密方法(1)替换法:把一个字母替换成它之后的第k个字母,比如AXZ,k取2,加密后得到CZB(Z之后第二个字符为B)(2)置换法:改变原来字符串中字母的顺序,比如将顺序<2 3 1>应用到ABC上得到的密文为BCA。(顺序<2 3 1>指将原字符串的第2个字符作为新字符串的第1个字符,将原字符串的第3个字符作为新字...原创 2019-11-26 22:16:18 · 2125 阅读 · 0 评论 -
【数据结构】中位数
描述中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数或最中间两个数据的平均值(如果这组数的个数为奇数,则中位数为位于中间位置的那个数;如果这组数的个数为偶数,则中位数是位于中间位置的两个数的平均值).给出一组无序整数,求出中位数,如果求最中间两个数的平均数,向下取整即可(不需要使用浮点数)输入该程序包含多组测试数据,每一组测试数据的第一行为N,代表该组测试数据包含的数据个...原创 2019-11-26 22:15:31 · 1635 阅读 · 0 评论 -
【数据结构】邮箱验证
描述POJ 注册的时候需要用户输入邮箱,验证邮箱的规则包括:1)有且仅有一个’@‘符号2)’@‘和’.‘不能出现在字符串的首和尾3)’@‘之后至少要有一个’.’,并且’@‘不能和’.'直接相连满足以上3条的字符串为合法邮箱,否则不合法,编写程序验证输入是否合法输入输入包含若干行,每一行为一个代验证的邮箱地址,长度小于100输出每一行输入对应一行输出如果验证合法,输出 YES...原创 2019-11-26 22:14:19 · 1554 阅读 · 0 评论 -
【数据结构】小白鼠排队
描述N只小白鼠(1 < N < 100),每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠的重量,要求按照白鼠重量从小到大的顺序输出它们头上帽子的颜色。帽子的颜色用 “red”,“blue”等字符串来表示。不同的小白鼠可以戴相同颜色的帽子。白鼠的重量用整数表示。输入输入第一行为一个整数N,表示小白鼠的数目。下面有N行,每行是一只白鼠的信息。第一个为正整数,表示白鼠的重量,;第二...原创 2019-11-26 22:13:04 · 408 阅读 · 0 评论 -
【数据结构】求最大值
描述求n个数据中的最大值,并输出最大值是第几个,若最大值有多个相同,则输出最前面的一个。第一行输入n,表示有n个数据第二行依次输入n个数据输出为一行,第一个数值为最大值,第二个数值为它是第几个。输入输入文件:max.in共两行第一行为n个数据第二行为n个数据的值输出输出文件:max.out一行输出:最大的值,最大值是第几个数(若最大值有多个,则输出最前的一个)样例输入8...原创 2019-11-26 22:12:00 · 2054 阅读 · 0 评论 -
【数据结构】二叉树的遍历问题
描述输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列。输入输入文件为tree.in,共两行,第一行一个字符串,表示树的先序遍历,第二行一个字符串,表示树的中序遍历。树的结点一律用小写字母表示。输出输出文件为tree.out,仅一行,表示树的后序遍历序列。样例输入abdecdbeac样例输出debca#include <iostream>#include &...原创 2019-11-26 22:10:12 · 289 阅读 · 0 评论 -
【数据结构】队列基本操作
描述输入若干个整数(小于50个),整数共有四种类型,不同类型的整数代表不同操作。说明如下:1、[10,99]之间的整数:将该整数入队。2、-1: 队首整数出队。3、-2: 显示队列所有整数。4、-3: 输入结束。说明:采用链队列实现,必须有队列初始化函数、入队函数、出队函数。输入第一行若干整数(必须满足上述四种类型要求),以-3结束。输出输出队列中所有整数。#include ...原创 2019-11-06 19:09:03 · 386 阅读 · 0 评论 -
【数据结构】括号匹配
描述给定一个字符串,字符串只包含两种字符:左括号“(”和右括号”)”。请判断这些括号是否能匹配。如果能则输出Yes,不能则输出No。输入一行,括号序列(一个字符串)输出Yes/No#include <iostream>#include <stack>#include <cstring>using namespace std;void matc...原创 2019-11-06 19:08:11 · 435 阅读 · 1 评论 -
【数据结构】后缀表达式求值
描述输入一个后缀表达式,计算它的值。操作数和操作码之间都以空格分开。输入一行,后缀表达式输出一行,一个整数,为后缀表达式的值#include<iostream>#include<string>using namespace std;int a[1000];int n,top;int main(){ string tmp; while(...原创 2019-11-06 19:04:15 · 1646 阅读 · 0 评论 -
【数据结构】火车站中的驶出的火车
描述有编号从1到N的N辆火车等待进入车站,而车站的容量是有限的,需要对火车进行调度。只有两种调度指令,进站和出站。现在车站给出了M个指令,请你输出在完成这些调度指令后,车站中驶出火车编号。输入两行第一行两个整数,N和M第二行为M个为-1或者为1的整数,-1代表出站,1代表入站输出一行整数,为驶出车站的火车编号#include<iostream>using name...原创 2019-11-06 18:54:31 · 422 阅读 · 0 评论 -
【数据结构】周末舞会
描述假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。规定每个舞曲能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一个程序,模拟上述舞伴配对问题。输入两行第一行两个整数n和m,分别为两队的长度第二行一个整数k,表示舞曲的数目输出k行,每行两个整数n1和m1,表示配对的编号#inclu...原创 2019-11-06 18:53:18 · 746 阅读 · 0 评论 -
【数据结构】十进制转化为二进制
描述进制之间的转换是很常见的操作输入一个正整数输出对应的二进制#include<iostream>using namespace std;int main(){ int n,i,j=0; int a[1000]; cin>>n; i=n; while(i) { a[j]=i%2; i/=2; j+...原创 2019-11-06 18:52:15 · 4164 阅读 · 0 评论 -
【数据结构】整数顺序表的基本运算
描述设计整数顺序表的基本运算程序,并用相关数据进行测试输入顺序输入顺序表A的元素个数及各个元素输出第一行:创建顺序表A后,输出所有元素第二行:删除第一个元素,输出删除后的所有元素第三行:输出删除元素后顺序表的长度第四行:在第二元素处插入一个新的元素100第五行:输出第一个元素100所在位置#include <iostream>using namespace std...原创 2019-11-06 18:45:54 · 3633 阅读 · 0 评论 -
【数据结构】集合合并
描述已知集合A与集合B,且第个集合内数据是唯一的。求A,B集合合并成新的集合C,要求C集合内的数据也是唯一的。并指出C集合的个数。输入三行,第一行分别为集合A,B的个数第二行为A集合的数据第三行为B集合的数据输出两行第一行集合C的个数第二行为C集合的数据#include<iostream>using namespace std;int main(){ int...原创 2019-11-06 18:45:02 · 1571 阅读 · 0 评论 -
【数据结构】非递减有序集合合并
描述巳知线性表LA和线性表LB中的数据元素按值非递减有序排列,现要求将LA和LB归并为一个新的线性表LC,且LC中的元素仍按值非递减有序排列。输入三行,第一行A,B集合的个数n,m第二行:集合A的数据;第三行:集合B的数据。输出二行,第一行,集合C的个数k第二行:集合C的数据。#include<iostream>#include<set>using n...原创 2019-11-06 18:43:57 · 972 阅读 · 0 评论 -
【数据结构】有序的双链表的实现
描述定义有序的双链表类,链表中存储整型数据,创建带头结点的有序双链表,要求包含以下成员函数:双链表的构造函数(非空的链表,输入数据为0,表示输入结束)插入操作(将一个数据元素插入到有序的双链表中,插入之后链表仍然有序,输入数据为0表示插入操作结束)按值删除节点(考虑有重复值的情况)双链表的遍历操作双链表的析构输入输入链表中的元素,根据输入元素,创建有序双链表(非空的链表,输入数据为...原创 2019-11-06 18:42:56 · 355 阅读 · 0 评论 -
【数据结构】单链表的实现
描述定义单链表类,创建带头结点的单链表(节点类型为整型数据),要求包含以下成员函数:头插法创建单链表(利用构造函数实现)尾插法创建单链表(重载构造函数实现)链表的遍历按值删除一个节点按位置删除一个节点链表的析构输入输入一组数据,以尾插法的形式创建单链表(0表示输入结束)(构造第一个链表)输入一组数据,以头插法的形式创建单链表(0表示输入结束)(构造第二个链表)输入要删除元素的...原创 2019-11-06 18:42:01 · 515 阅读 · 0 评论 -
【数据结构】构造有序的单链表
描述构造有序(升序)的单链表并实现单链表的逆置(可以采用结构化的程序设计方法实现,即不必定义类)输入输入链表中的数据。(用0表示输入的结束,0不能添加到链表中)输出按顺序输出有序链表中的数据#include <iostream>using namespace std;template <class t>struct node{ t data;...原创 2019-11-06 18:41:10 · 1196 阅读 · 0 评论 -
【数据结构】约瑟夫环问题
描述约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。输入8 1 3 (n=8 k=1 m=3 )输出7 (剩下的那个)#include<iostream>using namespace std...原创 2019-11-06 18:39:58 · 448 阅读 · 0 评论