- 博客(22)
- 收藏
- 关注
原创 递归实现二叉树的API设计
/** * 二叉查找树 */public class MyTree<Key extends Comparable<Key>, Value> { //根节点 private MyNode root; //获取该数的总结点数量 public int size() { return size(root); } private int size(MyNode x) { if (x == null) r.
2022-03-23 00:30:21
1121
原创 Java算法——排序——希尔排序
算法描述:希尔排序的思想是使得数组arr 中任意间隔为gap的元素都是有序的。并将这样的数组称为gap有序数组,一个有序数组就是gap个互相独立的有序数组编织在一起组成的数组arr。间隔h也称增量gap,目前最优增量最初取值 gap = (arr.length / 2) + 1,以后依次减半即gap = gap / 2;具体实现可参考下列代码public class ShellSort{ public void shellsrot(Object[] array){ ...
2022-03-16 03:05:41
1131
原创 Java实现二叉树
代码如下public class BinaryTree<Key extends Comparable<Key>, Value> { private class TreeNode { //存储键 private Key key; //存储值 private Value value; //记录左子结点 private TreeNode left; //记录右子结
2022-03-12 03:04:19
406
原创 Java实现循环双链表
使用Java语言实现了一个双链表,可进行数据元素的增、删、查。代码实现如下:import org.jetbrains.annotations.NotNull;import java.util.Iterator;public class DoubleLink<T> implements Iterable<T> { //创建一个双链表类型的结点匿名内部类 private class Node { //数据域,存放T类型的数据
2022-03-08 01:16:16
643
原创 Java语言——实现单向链表
单向链表的实现import org.jetbrains.annotations.NotNull;import java.util.Iterator;public class SinglyList<T> implements Iterable<T> { //记录头结点 private Node head; //记录链表长度 private int L; //创建一个结点类的匿名内部类 private class Node.
2022-03-07 01:55:01
533
原创 顺序表方法问题修复
改进源码如下://顺序表类:T 表示数据元素的数据类型。默认继承Object类public class SequenceList<T> extends Object { //顺序表元素个数(长度) protected int n; //对象数组存储顺序表的数据元素,保护成员 protected Object[] element; //常量,指定element数组容量的最小值 private static final int MIN_CA
2022-03-06 14:01:39
133
原创 Java语言——顺序表的实现
顺序表是线性表的顺序存储结构,它使用一堆数组依次存放线性表中的数据元素以下为线性表的设计代码可实现数据元素增、删、减、查代码如下:/***author 小鱼骨头*data 2022-3-6*///顺序表类:T 表示数据元素的数据类型。默认继承Object类public class SequenceList<T> extends Object { //顺序表元素个数(长度) protected int n; //对象数组存储顺序表的数据元素,保护成员
2022-03-06 02:23:24
747
2
原创 排序——希尔排序
算法描述:(1)将一个数据序列分成若干组,每组由若干相隔一段距离(称为增量)的元素组成,在一个组内采用直接插入排序算法进行排序。(2)增量的初值一般为数据序列长度的一半,以后每完成一次循环增量减半,最后值为1.随着增量逐渐减小,组数也逐渐减小,组内元素个数增加,数据接近有序。算法实现API:package com.sortAlgorithm.sortDemo;/** * 希尔排序API */public class ShellSort { public static vo
2022-03-05 22:55:43
143
原创 Java蓝桥杯———几种基本排序API
1,冒泡排序算法描述:比较相邻两个元素大小,若反序,则将两个元素进行交换。若按升序进行排序,每进行一次循环可将序列中最大元素交换到最后位置,如同气泡在水中冒出。算法API实现如下:public class BubbleSort { //对数组array中的元素进行排序 public static void sort(Comparable[] array) { for (int i = array.length - 1; i &g...
2022-03-05 02:14:01
1056
原创 Java蓝桥杯——Fibonacci数列
问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。样例输入10样例输出5
2022-03-03 01:25:53
757
原创 Java蓝桥杯——数列特征
问题描述 给出n个数,找出这n个数的最大值,最小值,和。 输入格式 第一行为整数n,表示数的个数。 第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。 输出格式 输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。 样例输入 5 1 3 -2 4 5 样例输出 5 -2 ...
2022-03-02 20:37:14
60
原创 数据处理——给出n个数,找出这n个数的最大值,最小值,和。
/* 问题描述 给出n个数,找出这n个数的最大值,最小值,和。 输入格式 第一行为整数n,表示数的个数。 第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。 输出格式 输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。 样例输入 5 1 3 -2 4 5 样例输出 5 ..
2022-03-01 23:03:12
2264
原创 Java蓝桥杯——查找整数
问题描述 给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。输入格式 第一行包含一个整数n。 第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。 第三行包含一个整数a,为待查找的数。输出格式 如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。 样例输入 6 1 9 4 8 3 9 9样例输出 2数据规模与约定 1 <= n <.
2022-03-01 22:06:27
186
原创 Java蓝桥杯——杨辉三角
问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。样例输入4样例输
2022-03-01 01:54:12
422
2
原创 Java蓝桥杯软件开发——练习系统基础题——回文数
问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。输出格式 按从小到大的顺序输出满足条件的四位十进制数。public class Main{ public static void main(String[] args) { for(int i = 1;i <= 9;i++){ for(int j = 0;j <= 9;j++){ System...
2022-02-27 23:59:52
6613
原创 使用java语言开发的一个学生信息管理系统
该系统可以完成学生信息的添加、查看、检索(有一点小bug,有时候显示所有学生信息)、删除和修改。1、首先使用IntelliJ IDEA建立一个类文件Student_information和一个对象文件Student_manager2、在类文件中建立学生类并构造方法,代码如下:package com.student_information_management_system;// 创建学生的类public class Student_information{ private Str
2021-11-23 00:59:20
1366
原创 在Ubuntu系统下,用python3建立一个简易的学生信息管理系统
1、使用Pycharm新建一个项目并建立两个.py文件,一个由于写入函数,一个用于调用函数。如下图所示:2、在StudentList-tools.py文件中写入自己需要的函数,附代码如下# 建立学生信息列表Student_list = []# 菜单显示函数menu_showdef menu_show(): print("#" * 106) Menu = [" ***欢迎使用学生信息管理系统***", "1、添加学生名单",
2021-11-19 13:05:25
1075
原创 使用Ubuntu学习Python的第一天
使用gedit建立一个Python文件输出一张完整的乘法口诀表,执行代码如下:gedit 乘法口诀表.py打开编辑器输入如下代码:#利用while循环输出乘法口诀表row = 1while row <= 9: col = 1 while col <= row: print("%d*%d=%d\t" % (row, col, row*col), end=" ") col += 1 print("") row +=
2021-11-17 23:07:50
658
原创 在Ubuntu系统利用C++ for循环打印乘法口诀表
1、打开终端通过vim建立一个C++程序。执行如下代码:vim 乘法口诀.cpp2、打开vim编辑器按 i 进入编辑模式。输入如下代码:#include <iostream>using namespace std;int main(void){ for(int i = 1; i <10; i++) { for(int j = 1;j < i; j++) {
2021-11-15 01:27:19
1382
1
原创 Ubuntu下VIM的美化
1、首先、安装vim编辑器。执行如下代码sudo apt-get install vim2、检查是否安装成功。执行如下代码vim -v3、在主目录下新建目录.vimrc 。执行代码如下sudo touch .vimrc4、使用vim打开建立的.vimrc。执行代码如下vim .vimrc5、按i进行编辑,并zhantie以下代码。1""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""".
2021-11-13 02:24:38
1100
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人