插入排序 插入排序:原理:1、把所有的元素分为两组,已经排序的和未排序的 2、找到未排序的组中的第一个元素,向已经排序的组中进行插入 3、倒叙遍历已经排序的元素,依次和待插叙的元素进行比较,直到找到一个元素小于等于待插入元素,那么就把待插入元素放到这个位置,其他的元素向后移动一位。 代码实现package demo02.sort; public class Insertion { pub 2021-08-13 Java 数据结构 java 插入排序
用接口写冒泡排序 用接口写冒泡排序:package demo02.maopaoapi.Bubble; public class Bubble { /** *对数组a中的元素进行排序 */ public static void sort(Comparable[] a){ for (int i = a.length-1; i >0; i--) 2021-08-11 Java Java 数据结构 冒泡排序 接口
选择排序 选择排序:合适的元素放在合适的位置1、每一次遍历的过程中,都假定第一个索引处的元素是最小值,和其他索引处的值依次进行比较,如果当前索引处的值大于其他某个索引处的值,则假定其他某个索引处的只为最小值,最后可以找到最小值所在的索引。 2、交换第一个索引处和最小值所在的索引处的值 选择排序api实验: package demo02.sort; public class Selection { 2021-08-11 Java Java 数据结构 接口 选择排序
Comparable接口的使用 Comparable接口的使用:(知识回顾)1、定义一个学生类,具有年龄age和姓名username两个属性,并通过Comparable接口提供比较规则。package demo02.sort; public class Student implements Comparable<Student>{ private String username; private 2021-08-11 Java Comparable接口 Java 知识回顾
Fluid 页脚增加网站运行时长 Fluid 1.8.4 版本支持自定义页脚内容了,群友常改的网站运行时长,这次无需再修改源代码。 只需要在主题配置中的 footer: content 添加: footer: content: ' <a href="https://hexo.io" target="_blank" rel 2021-08-09 生命不息,折腾不止! 生命不息,折腾不止!
binary search(二分法) binary search(二分法):代码: import java.util.Arrays; /** * 二分法查找元素 */ public class BinarySearch { public static void main(String[] args) { int[] arr = {30,20,50,10,80,9,7,12,1 2021-08-09 Java Java binary search 二分法 折半查找法
稀疏数组的转换 二维数组转稀疏数组的思路: 1、遍历原始的二维数组,得到有效数据的个数sum 2、根据sum就可以创建稀疏数组sparseArr int[sum+1] [3] 3、将二维数组的有效数据存入到稀疏数组中 稀疏数组转原始的二维数组的思路 1、先读取稀疏数组的第一行,根据第一行的数据,常见原始的二维数组 2、在读取稀疏数组后几行的数据,并赋给原始的二维数组即可 代码实现:二维数组转换稀疏数组 pub 2021-08-09 数据结构 数据结构
LeetCode-有效字符串判定 一、给定一个只有括号’(‘,’)’,’{‘,’}’,’[‘,’]’字符串,判断字符串是否有效。有效字符串需要满足: 1、左括号必须用相同的类型的右括号闭合。 2、左括号必须以正确的顺序闭合。 注意空字符串可被认为有效字符串。 实例1: 输入:”()” 输出:true 实例2: 输入: “()[]{}” 输出:true 二、 代码实现:import java.util.Stack; public 2021-08-09 LeetCode 数据结构 LeetCode
Java冒泡排序 1、冒泡排序import java.util.Arrays; /** * 冒泡排序 */ public class Test01 { public static void main(String[] args) { int[] values = {3,1,6,2,9,0,7,4,8,5}; System.out.p 2021-08-08 Java Java 数据结构 冒泡排序
LeetCode---两数相加2 LeetCode—两数相加2给你两个非空的链表,表示两个非负的整数。他们每位数字都是按照逆序的方式存储的,,并且每个节点只能存储一位数字。 请你将两数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0开头 例如: 输入:2–4–3 5–6–4 输出:7–0–8 解法: 1、迭代法class Solution { // 2021-08-08 LeetCode LeetCode 数据结构与算法