自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 合并两个有序链表

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路:很简单就是二路归并的思想,时间复杂度O(n)。/** * Definition for singly-linked list. * struct ListN...

2018-04-26 20:42:37 146

原创 输出利用先序遍历创建的二叉树中的指定结点的度 swustoj

输出利用先序遍历创建的二叉树中的指定结点的度 1000(ms) 10000(kb) 1786 / 6130利用先序递归遍历算法创建二叉树并输出该二叉树中指定结点的度。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符“#”时表示该结点不需要创建,否则创建该结点。最后再输出创建完成的二叉树中的指定结点的度。注意输入数据序列中的字符“#”和非“#”字符的序列及个数关系,这会最终决定创建的二叉树的...

2018-04-26 20:18:41 645

原创 输出利用先序遍历创建的二叉树中的指定结点的双亲结点 swustoj

输出利用先序遍历创建的二叉树中的指定结点的双亲结点 1000(ms) 10000(kb) 1893 / 4540利用先序递归遍历算法创建二叉树并输出该二叉树中指定结点的双亲结点。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符“#”时表示该结点不需要创建,否则创建该结点。最后再输出创建完成的二叉树中的指定结点的双亲结点。注意输入数据序列中的“#”字符和非“#”字符的序列及个数关系,这会最终...

2018-04-26 16:56:39 1979

原创 输出利用先序遍历创建的二叉树中的指定结点的孩子结点 swustoj

输出利用先序遍历创建的二叉树中的指定结点的孩子结点 1000(ms) 10000(kb) 1907 / 4271利用先序递归遍历算法创建二叉树并输出该二叉树中指定结点的儿子结点。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结点不需要创建,否则创建该结点。最后再输出创建完成的二叉树中的指定结点的儿子结点。注意输入数据序列中的"#"字符和非"#"字符的序列及个数关系,这会最终...

2018-04-26 16:22:48 1298

原创 堆排序算法 swustoj

堆排序算法 1000(ms) 10000(kb) 2110 / 4707编写程序堆排序算法。按照非递减排序,测试数据为整数。输入第一行是待排序数据元素的个数; 第二行是待排序的数据元素。输出一趟堆排序的结果。样例输入1050 36 41 19 23 4 20 18 12 22样例输出4 12 20 18 22 41 50 36 19 23#include<iostream>#inc...

2018-04-26 15:14:53 811

原创 二叉排序树的实现和查找 swustoj

二叉排序树的实现和查找 1000(ms) 10000(kb) 2257 / 5150按照给定的关键字集合,建立二叉排序树。在建立的二叉排序树上查找指定的关键字,查找成功,输出找到该关键字比较的次数;查找不成功,输出-1.输入关键字个数n; 关键字集合; 要查找的关键字;输出查找成功输出比较的次数,否则输出-1。样例输入1225 18 46 2 53 39 32 4 74 67 60 117...

2018-04-25 16:28:01 984

原创 输出用先序遍历创建的二叉树是否为完全二叉树的判定结果 swustoj

输出用先序遍历创建的二叉树是否为完全二叉树的判定结果 1000(ms) 10000(kb) 2007 / 4239利用先序递归遍历算法创建二叉树并判断该二叉树是否为完全二叉树。完全二叉树只能是同深度的满二叉树缺少最后一层倒数连续个叶子结点。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约...

2018-04-25 09:39:29 1917 2

原创 折半查找的实现 swustoj

折半查找的实现 1000(ms) 10000(kb) 2334 / 9041编写程序实现折半查找算法。输入第一行是查找表的长度n第二行是查找表中的数据元素 ;第三行是要查找的数据元素的关键字.输出查找成功返回位序,不成功返回-1 ,第二行为比较的次数。样例输入115 13 19 21 37 56 64 75 80 88 92100样例输出-14#include<iostream&g...

2018-04-25 09:24:00 982

原创 利用二叉树中序及先序遍历确定该二叉树的后序序列 swustoj

利用二叉树中序及先序遍历确定该二叉树的后序序列 1000(ms) 10000(kb) 2182 / 4615已知二叉树的中序和先序遍历可以唯一确定后序遍历、已知中序和后序遍历可以唯一确定先序遍历,但已知先序和后序,却不一定能唯一确定中序遍历。现要求根据输入的中序遍历结果及先序遍历结果,要求输出其后序遍历结果。输入输入数据占2行,其中第一行表示中序遍历结果,第二行为先序遍历结果。输出对测试数据,输出...

2018-04-24 20:16:38 776

原创 利用二叉树中序及后序遍历确定该二叉树的先序序列 swustoj

利用二叉树中序及后序遍历确定该二叉树的先序序列 1000(ms) 10000(kb) 2036 / 3818已知二叉树的中序和先序遍历可以唯一确定后序遍历、已知中序和后序遍历可以唯一确定先序遍历,但已知先序和后序,却不一定能唯一确定中序遍历。现要求根据输入的中序遍历结果及后序遍历结果,要求输出其先序遍历结果。输入第一行为中序序列 第二行为后续序列输出输出为遍历二叉树得到的先序序列样例输入BFDA...

2018-04-24 19:39:32 977

原创 输出利用二叉树存储的普通树的度 swust oj

输出利用二叉树存储的普通树的度 1000(ms) 10000(kb) 2068 / 4759普通树可转换成相应的二叉树(该二叉树的根结点一定缺少右儿子),反之亦然。故而可以根据相应的转换方法去统计某一二叉树对应的普通树的度。普通树的度为其结点儿子数的最大值。相应的二叉树可利用二叉树的先序递归遍历算法创建。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收...

2018-04-24 08:56:23 548 1

原创 统计利用二叉树存储的森林中树的棵数 swustoj

统计利用二叉树存储的森林中树的棵数 1000(ms) 10000(kb) 2369 / 4294普通树及其构成的森林均可转换成相应的二叉树,反之亦然。故而可以根据相应的转换方法去统计某一二叉树对应的森林中树的棵数。相应的二叉树可利用先序递归遍历算法创建。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链...

2018-04-24 08:02:57 530

原创 输出利用先序遍历创建的二叉树的层次遍历序列 swustoj

输出利用先序遍历创建的二叉树的层次遍历序列 1000(ms) 10000(kb) 2315 / 4935利用先序递归遍历算法创建二叉树并输出该二叉树的层次遍历序列。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结点不需...

2018-04-23 15:00:29 1518

原创 顺序表上数据的划分问题的实现 swustoj

顺序表上数据的划分问题的实现 1000(ms) 10000(kb) 2073 / 4253建立一个顺序表L,然后以第一个为分界,将所有小于等于它的元素移到该元素的前面,将所有大于它的元素移到该元素的后面。输入顺序表长度n;顺序表中的数据元素。输出移动后的数据元素。样例输入1032 5 22 43 23 56 54 57 11 25样例输出25 11 23 22 5 32 43 56 54 57...

2018-04-22 09:39:57 870

原创 利用栈完成后缀表达式的计算 swust oj

利用栈完成后缀表达式的计算 1000(ms) 10000(kb) 2114 / 4163后缀表达式不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则,如:(2 + 1) * 3 , 即2 1 + 3 *。利用栈结构,将后缀表达式的结果计算出来。输入后缀表达式。以#号作为表达式结束标志。为了简单,处理的数据为0-9的整数。输出计算结果。...

2018-04-22 08:33:42 635

原创 寻找整数序列的主元素 swustoj

寻找整数序列的主元素 1000(ms) 10000(kb) 2391 / 5680已知一个整数序列A=(a0,a1,…an),如果其中有一个元素的出现次数超过n/2,就称该元素为A的主元素,否则就称整数序列没有主元素。例如A=(0,5,5,3,5,7,5,5),则5为主元素。A=(0,5,5,3,5,1,5,7),则A中没有主元素。要求编写程序实现寻找给定整数序列的主元素,如果找到,则输出主元素。...

2018-04-22 07:49:56 3006 2

原创 定位顺序表中的最大和最小值 swustoj

定位顺序表中的最大和最小值 1000(ms) 10000(kb) 2510 / 11216建立长度为n的顺序表,在表中找出最大值和最小值元素所在的位置。输入第一行为顺序表的长度n;第二行为顺序表中的数据元素;输出第一行为最大值的位置;第二行为最小值的位置。样例输入71 2 3 4 5 6 7样例输出Lmax=6Lmin=0include<iostream>using name...

2018-04-21 20:40:05 2672

原创 特定字符序列的判断 swustoj

特定字符序列的判断 1000(ms) 10000(kb) 2125 / 4929编写一程序,识别依次读入的一个以“#”为结束符的字符序列是否为形如“序列1@序列2”模式的字符序列。期中序列1和序列2中都不含字符“@”,且序列2是序列1的逆序列。例如“a+b@b+a”是满足条件的序列字符,而“1+3@3-1”则不是。输入一个以“#”结束的字符序列。输出是满足条件的字符序列输出“yes!”;否则输出“...

2018-04-21 20:01:06 533

原创 舞伴问题 swustoj

舞伴问题 1000(ms) 10000(kb) 2103 / 5049假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。要求编写程序实现舞伴问题。输入输入一共5行,第一行是男生人数m;第二行依次是男生的姓名;第三行是女士的人数n;第四行依次是女士的姓名;第五行是跳舞...

2018-04-21 19:27:53 802 1

原创 输出利用先序遍历创建的二叉树的后序遍历序列 swustoj

输出利用先序遍历创建的二叉树的后序遍历序列 1000(ms) 10000(kb) 2473 / 3692利用先序递归遍历算法创建二叉树并输出该二叉树的后序遍历序列。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结点不需...

2018-04-21 17:02:14 1323

原创 输出利用先序遍历创建的二叉树的中序遍历序列 swustoj

输出利用先序遍历创建的二叉树的中序遍历序列 1000(ms) 10000(kb) 2661 / 4294利用先序递归遍历算法创建二叉树并输出该二叉树的中序遍历序列。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结点不需...

2018-04-21 16:35:08 3632 1

原创 统计利用先序遍历创建的二叉树中的空链域个数 swustoj

统计利用先序遍历创建的二叉树中的空链域个数 1000(ms) 10000(kb) 2497 / 4025利用先序递归遍历算法创建二叉树并计算该二叉树中的空链域个数。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结点不需...

2018-04-21 16:20:13 1258

原创 统计利用先序遍历创建的二叉树的度为1的结点个数 swustoj

统计利用先序遍历创建的二叉树的度为1的结点个数 1000(ms) 10000(kb) 2501 / 4135利用先序递归遍历算法创建二叉树并计算该二叉树度为1结点的个数。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结...

2018-04-21 14:00:58 3745

原创 一元多项式加法运算的实现 swustoj

一元多项式加法运算的实现 10000(ms) 10000(kb) 2093 / 5095编程实现一元多项式的加法运算。(要求用链表实现)输入第一个一元多项式A; 第二个一元多项式B。 以(0,0)作为输入结束。输出多项式A和多项式B的和。样例输入5,3 7,8 9,15 0,02,0 6,3 -7,8 0,0样例输出2x^0+11x^3+9x^15结构体数组:#include<iostre...

2018-04-20 19:36:25 1285

原创 统计利用先序遍历创建的二叉树的度为2的结点个数 swustoj

统计利用先序遍历创建的二叉树的度为2的结点个数 1000(ms) 10000(kb) 2468 / 4526利用先序递归遍历算法创建二叉树并计算该二叉树度为2结点的个数。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结...

2018-04-20 15:42:48 1788

原创 统计利用先序遍历创建的二叉树叶结点的个数 swustoj

统计利用先序遍历创建的二叉树叶结点的个数 1000(ms) 10000(kb) 2734 / 5021利用先序递归遍历算法创建二叉树并计算该二叉树叶结点的个数。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结点不需要创...

2018-04-20 15:29:36 1428

原创 统计利用先序遍历创建的二叉树的宽度 swustoj

统计利用先序遍历创建的二叉树的宽度 1000(ms) 10000(kb) 2427 / 5729利用先序递归遍历算法创建二叉树并计算该二叉树的宽度。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结点不需要创建,否则创建...

2018-04-20 15:13:50 1006

原创 统计利用先序遍历创建的二叉树的深度

统计利用先序遍历创建的二叉树的深度 10000(ms) 10000(kb) 2768 / 6970利用先序递归遍历算法创建二叉树并计算该二叉树的深度。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结点不需要创建,否则创...

2018-04-19 21:53:20 1153 2

原创 打印杨辉三角形 swust oj

打印杨辉三角形 1000(ms) 10000(kb) 2641 / 13578杨辉三角形具有如下特征: 1、每行数字左右对称,由1开始逐渐变大,然后变小,回到1。 2、第n行的数字个数为n个。 3、第n行数字和为2^(n-1)。 4、每个数字等于上一行的左右两个数字之和。可用此性质写出整个帕斯卡三角形。 5、将第2n+1行第1个数,跟第2n+2行第3个数、第2n+3行第5个数……连成一线,这些数的...

2018-04-19 20:41:40 1499 1

原创 循环队列 swustoj

循环队列 1000(ms) 10000(kb) 2347 / 6268根据给定的空间构造顺序循环队列,规定队满处理方法为少用一个元素空间。例如,给定5个元素空间构造循环队列,则只能存放4个元素。试根据入队及出队操作判断队列最后的元素存放情况,并输出最后队列中的元素值,即完成给定入队及出列操作后一次性全部出队的元素值。要求采用顺序队列完成,少用一个存储空间的方法区分队列的空和满。输入输入的第一行为一...

2018-04-19 20:30:30 880

原创 小偷的背包 swustoj

小偷的背包 1000(ms) 10000(kb) 2422 / 6485设有一个背包可以放入的物品重量为S,现有n件物品,重量分别是w1,w2,w3,...,wn。问能否从这n件物品中选择若干件放入背包中,使得放入的重量之和正好为S。如果有满足条件的选择,则此背包有解,否则此背包问题无解。输入第一行为物品重量S(整数);第二行为物品数量n, 第三行为n件物品的重量的序列。输出有解就输出”yes...

2018-04-19 07:22:23 1093 1

原创 有效的括号

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: false示例 4:输入: "([)]"输出: fa...

2018-04-18 23:42:25 130

原创 括号匹配问题

括号匹配问题 1000(ms) 65535(kb) 2496 / 10237假设表达式中允许包含两种括号:圆括号和方括号。编写一个算法判断表达式中的括号是否正确配对。输入由括号构成的字符串,包含”(“、”)“、”[“和”]“。输出如果匹配输出YES,否则输出NO。样例输入[([][]())]样例输出YES思路:#include<iostream>#include<stdlib...

2018-04-18 21:01:31 694

原创 进制转换问题

进制转换问题 1000(ms) 10000(kb) 2859 / 7572建立顺序栈或链栈,编写程序实现十进制数到二进制数的转换。输入输入只有一行,就是十进制整数。输出转换后的二进制数。样例输入10样例输出1010注释不写应该都能看懂。。。。#include<iostream>#include<stdlib.h>using namespace std;typedef ...

2018-04-18 20:25:46 370

原创 双向链表的操作问题 swustoj

双向链表的操作问题 1000(ms) 10000(kb) 2778 / 6526建立一个长度为n的带头结点的双向链表,使得该链表中的数据元素递增有序排列。(必须使用双向链表完成,数据类型为整型。)输入第一行:双向表的长度; 第二行:链表中的数据元素。输出输出双向链表中的数据元素的值。样例输入102 4 6 3 5 8 10 21 12 9样例输出2 3 4 5 6 8 9 10 12 21#...

2018-04-18 20:15:27 497

原创 逆置单链表 swustoj

逆置单链表 1000(ms) 65535(kb) 2666 / 6788建立长度为n的单链表,然后将其数据元素逆置,即第1个元素变为最后一个元素,第2个元素变为倒数第2个元素,以此类推,最后一个元素变为第1个元素。(处理的数据类型为字符型。必须使用链表完成。)输入第一行为链表长度n; 第二行为链表中的n个数据元素的值。输出逆置后的原始的值。样例输入10ABCDEFGHIJ样例输出J I H ...

2018-04-18 13:35:15 1101 1

原创 约瑟夫问题的实现 swustoj

约瑟夫问题的实现 2000(ms) 65535(kb) 2662 / 8037n个人围成一个圈,每个人分别标注为1、2、...、n,要求从1号从1开始报数,报到k的人出圈,接着下一个人又从1开始报数,如此循环,直到只剩最后一个人时,该人即为胜利者。例如当n=10,k=4时,依次出列的人分别为4、8、2、7、3、10,9、1、6、5,则5号位置的人为胜利者。给定n个人,请你编程计算出最后胜利者标号数...

2018-04-18 13:20:15 748

原创 单链表上查找算法的实现 swustoj

单链表上查找算法的实现 1000(ms) 65535(kb) 2713 / 7242建立一个长度为n的带头结点的单链表,在该表中寻找第i个结点,若找到,则输出ok,否则输出error。处理数据类型为整型。输入第一行为链表的长度n; 第二行为链表中的数据元素;第三行为要找的结点i。输出找到就输出ok,没找到就输出error。样例输入101 2 3 4 5 6 7 8 9 105样例输出ok...

2018-04-18 08:49:11 703

原创 单链表的链接 swust oj

单链表的链接 1000(ms) 65535(kb) 2923 / 9780建立长度为n的单链表A和长度为m的单链表B。编程实现将B表链接在A表的尾端,形成一个单链表A。数据类型指定为字符型。输入第一行为A表的长度n; 第二行为A表中的数据元素;第三行为B表的长度m; 第四行为B表中的数据元素。输出输出为链接好后的A表中的所有数据元素。样例输入4A B C D 61 2 3 4 5 6...

2018-04-18 08:33:35 697

原创 单链表的删除操作的实现 swust oj

单链表的删除操作的实现 1000(ms) 65535(kb) 2769 / 13056建立长度为n的单链表,删除第i个结点之前的结点。输入第一行为自然数n,表示链式线性表的长度;第二行为n个自然数表示链式线性表各元素值;第三行为指定的删除参数i。输出指定删除位置合法时候,输出删除元素后的链式线性表的所有元素,元素之间用一个空格隔开。输入不合法,输出"error!"。样例输入51 2 3 ...

2018-04-18 08:19:52 644

空空如也

空空如也

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

TA关注的人

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