- 博客(27)
- 收藏
- 关注
原创 C语言实验——打印数字图形(JAVA)
Description从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。Input正整数n(1≤n≤9)。Output指定数字图形。SampleInput5Output11211232112343211234543211234321123211211import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner reader =
2020-09-27 17:31:28 588
原创 九九乘法表_JAVA
Description九九乘法表是数学学习的基础,今天我们就来看看乘法表的相关问题。《九九乘法歌诀》,又常称为“小九九”,如下图所示。你的任务是写一个程序,对于给定的一个正整数 n ,输出“九九乘法表”的前 n 行。例如,输入 n 为 9,你的程序的输出将为下图:Input输入包含多组测试数据,以 EOF 结束。每组测试数据只包含一个正整数 n (0 < n < 10)。Output对于每组测试数据,输出上图所示“九九乘法表”的前 n 行。SampleInput23Outp
2020-09-27 11:13:32 695
原创 顺序表应用7:最大子段和之分治递归法
Description给定n(1<=n<=50000)个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n。 例如,当(a[1],a[2],a[3],a[4],a[5],a[6])=(-2,11,-4,13,-5,-2)时,最大子段和为20。注意:本题目
2020-09-27 10:43:10 172
原创 顺序表应用8:最大子段和之动态规划法
Description给定n(1<=n<=100000)个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n。 例如,当(a[1],a[2],a[3],a[4],a[5],a[6])=(-2,11,-4,13,-5,-2)时,最大子段和为20。注意:本题
2020-09-27 09:45:22 95
原创 sdutoj-3837-素数链表
Description我们定义素数链表为元素全部是素数的链表。给定一个初始含有 n 个元素的链表,并给出 q 次删除操作,对于每次操作,你需要判断链表中指定位置上的元素,如果元素存在且不是素数则删除。在所有操作完成后你还需要检查一下最终链表是否是一个素数链表。Input输入数据有多组。第 1 行输入 1 个整数 T (1 <= T <= 25) 表示数据组数。对于每组数据:第 1 行输入 2 个整数 n (1 <= n <= 50000), q (1 <= q &
2020-09-27 09:10:59 172
原创 sdut-oj-4205-寻找关键点
Description现定义关键点为一条链中处于中间位置的节点,例如 1 3 4中,3就是这个整数链中的关键点。现在小玉得到了一个整数链,确保链中的各个数都互不相同且数列中数的个数为奇数。可是,由于小玉的一些特殊要求,她可能会对这个链进行一些特别的操作。操作 1 :给定两个数a和b,每次删除链中值为a和值为b两个节点。操作 2 :给定两个数a和b,每次在链中值为1的节点后插入a,在链中值为2的节点后插入b。由于小玉特殊的要求,她保证链中肯定会有值为1和2的节点,并且这两个节点永远不会被删除。保证
2020-09-26 21:21:09 183
原创 数据结构实验之链表八:Farey序列
DescriptionFarey序列是一个这样的序列:其第一级序列定义为(0/1,1/1),这一序列扩展到第二级形成序列(0/1,1/2,1/1),扩展到第三极形成序列(0/1,1/3,1/2,2/3,1/1),扩展到第四级则形成序列(0/1,1/4,1/3,1/2,2/3,3/4,1/1)。以后在每一级n,如果上一级的任何两个相邻分数a/c与b/d满足(c+d)<=n,就将一个新的分数(a+b)/(c+d)插入在两个分数之间。对于给定的n值,依次输出其第n级序列所包含的每一个分数。Input输
2020-09-26 19:40:54 115
原创 sdutoj-4209-移动小球
Description给你n个小球,从左到右编号依次为1,2,3,4,5,6…n排成一行。现在有以下2种操作:A x y表示把编号为x小球移动到编号为y的小球的左边(和y相邻)。Q x为询问编号为x的小球左边的球号,如果x左边没有小球的话输出"cyk666"。Input第一行输入一个T,表示有T组测试数据。(1<=T<=100)随后每一组测试数据第一行是两个整数N,M,其中N表示球的个数(1 随后有M行询问,第一个字符是操作类型s。当s为’A’时,输入x,y表示把编号为x小球移动到编号
2020-09-26 17:14:56 305
原创 sdutoj-3781-数组操作
Description给你一个长度为 n 的数组,并给出如下几种操作:在下标为 a 的位置插入一个整数 b,如果其后有元素,则全部后移。例如,数组为 1, 2, 3,在下标为 1 的位置插入 4,则数组变为:1, 4, 2, 3。删除下标为 a 的元素,如果其后有元素,则全部前移。例如,数组为 1, 2, 3,删除下标为 0 的元素,则数组变为:2, 3。修改下标为 a 的元素的值为 b。输出整个数组。Input输入数据有多组(数据组数不超过 10),到 EOF 结束。对于每组数据:首先输
2020-09-26 16:16:09 394
原创 数据结构实验之链表九:双向链表
Description学会了单向链表,我们又多了一种解决问题的能力,单链表利用一个指针就能在内存中找到下一个位置,这是一个不会轻易断裂的链。但单链表有一个弱点——不能回指。比如在链表中有两个节点A,B,他们的关系是B是A的后继,A指向了B,便能轻易经A找到B,但从B却不能找到A。一个简单的想法便能轻易解决这个问题——建立双向链表。在双向链表中,A有一个指针指向了节点B,同时,B又有一个指向A的指针。这样不仅能从链表头节点的位置遍历整个链表所有节点,也能从链表尾节点开始遍历所有节点。对于给定的一列数据,按照
2020-09-25 22:22:15 115
原创 数据结构实验之链表七:单链表中重复元素的删除
Description按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个)。Input第一行输入元素个数 n (1 <= n <= 15);第二行输入 n 个整数,保证在 int 范围内。Output第一行输出初始链表元素个数;第二行输出按照逆位序所建立的初始链表;第三行输出删除重复元素后的单链表元素个数;第四行输出删除重复元素后的单链表。SampleInput1021 30 14 55 32 63 11 30
2020-09-25 16:52:53 413
原创 数据结构实验之链表六:有序链表的建立
Description输入N个无序的整数,建立一个有序链表,链表中的结点按照数值非降序排列,输出该有序链表。Input第一行输入整数个数N;第二行输入N个无序的整数。Output依次输出有序链表的结点值。SampleInput633 6 22 9 44 5Output5 6 9 22 33 44Hint不得使用数组!#include<bits/stdc++.h>using namespace std;typedef struct node{ int
2020-09-25 16:31:41 148
原创 数据结构实验之链表五:单链表的拆分
Description输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。Input第一行输入整数N;;第二行依次输入N个整数。Output第一行分别输出偶数链表与奇数链表的元素个数;第二行依次输出偶数子链表的所有数据;第三行依次输出奇数子链表的所有数据。SampleInput101 3 22 8 15 999 9 44 6 1001Output4 622 8 44 6
2020-09-25 16:20:24 164
原创 数据结构实验之链表四:有序链表的归并
Description分别输入两个有序的整数序列(分别包含M和N个数据),建立两个有序的单链表,将这两个有序单链表合并成为一个大的有序单链表,并依次输出合并后的单链表数据。Input第一行输入M与N的值;第二行依次输入M个有序的整数;第三行依次输入N个有序的整数。Output输出合并后的单链表所包含的M+N个有序的整数。SampleInput6 51 23 26 45 66 9914 21 28 50 100Output1 14 21 23 26 28 45 50 66 99 1
2020-09-25 15:42:33 167
原创 数据结构实验之链表三:链表的逆置
Description输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表的数据进行逆置,并输出逆置后的单链表数据。Input输入多个整数,以-1作为结束标志。Output输出逆置后的单链表数据。SampleInput12 56 4 6 55 15 33 62 -1Output62 33 15 55 6 4 56 12Hint不得使用数组。#include<bits/stdc++.h>using namespace std;typede
2020-09-25 15:15:07 146
原创 数据结构实验之链表二:逆序建立链表
Description输入整数个数N,再输入N个整数,按照这些整数输入的相反顺序建立单链表,并依次遍历输出单链表的数据。Input第一行输入整数N;;第二行依次输入N个整数,逆序建立单链表。Output依次输出单链表所存放的数据。SampleInput1011 3 5 27 9 12 43 16 84 22Output22 84 16 43 12 9 27 5 3 11Hint不能使用数组!#include<bits/stdc++.h>using namespa
2020-09-25 14:49:28 127
原创 数据结构实验之链表一:顺序建立链表
Description输入N个整数,按照输入的顺序建立单链表存储,并遍历所建立的单链表,输出这些数据。Input第一行输入整数的个数N;第二行依次输入每个整数。Output输出这组整数。SampleInput812 56 4 6 55 15 33 62Output12 56 4 6 55 15 33 62Hint不得使用数组!#include<bits/stdc++.h>using namespace std;typedef struct node{
2020-09-25 14:32:53 231
原创 顺序表应用3:元素位置互换之移位算法
Description一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),借助元素移位的方式,设计一个空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后段,后len-m个元素放到表的前段。注意:先将顺序表元素调整为符合要求的内容后,再做输出,输出过程只能用一个循环语句实现,不能分成两个部分。Input第一行输入整数n,代表下面有n行
2020-09-25 13:32:14 95
原创 顺序表应用4:元素位置互换之逆置算法
这道题和顺序表应用4-2:元素位置互换之逆置算法(数据改进)的算法没差什么。Description一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),设计一个时间复杂度为O(N)、空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后段,后len-m个元素放到表的前段。注意:先将顺序表元素调整为符合要求的内容后,再做输出,输出过程只能用一
2020-09-24 20:52:34 152
原创 数据结构上机测试1:顺序表的应用
Description在长度为n(n<1000)的顺序表中可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只能有一个)。Input第一行输入表的长度n;第二行依次输入顺序表初始存放的n个元素值。Output第一行输出完成多余元素删除以后顺序表的元素个数;第二行依次输出完成删除后的顺序表元素。SampleInput125 2 5 3 3 4
2020-09-24 20:23:56 232
原创 顺序表应用6:有序顺序表查询
Description顺序表内按照由小到大的次序存放着n个互不相同的整数,任意输入一个整数,判断该整数在顺序表中是否存在。如果在顺序表中存在该整数,输出其在表中的序号;否则输出“No Found!"。Input第一行输入整数n (1 <= n <= 100000),表示顺序表的元素个数;第二行依次输入n个各不相同的有序非负整数,代表表里的元素;第三行输入整数t (1 <= t <= 100000),代表要查询的次数;第四行依次输入t个非负整数,代表每次要查询的数值。保证
2020-09-24 15:42:31 163
原创 顺序表应用4-2:元素位置互换之逆置算法(数据改进)
Description 一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),设计一个时间复杂度为O(N)、空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后段,后len-m个元素放到表的前段。 注意:交换操作会有多次,每次交换都是在上次交换完成后的顺序表中进行。Input 第一行输入整数len(1<=len<=1000000)
2020-09-24 11:20:00 210
原创 ACM《数据结构》顺序表
顺序表应用2:多余元素删除之建表算法Description一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。要求:1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;2、本题的目标是熟悉在顺序表原表空间基础上建新表的算法,要在原顺序表空间的基础上完成完成删除,建表过程不得
2020-09-23 14:18:52 162
原创 顺序表应用1:多余元素删除之移位算法
Description一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。要求:1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;2、本题的目标是熟悉顺序表的移位算法,因此题目必须要用元素的移位实现删除;Input第一行输入整数n,代表下面有n行输入;之后输入n行,每
2020-09-22 22:33:43 239
原创 JAVA 判断其是否为合法标识符
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner reader = new Scanner(System.in); String str = reader.next(); char ch; //临时得到的字符 char start = str.charAt(0);//获得首字符 int len = str.length();//获得字符串
2020-09-10 16:00:09 654
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人