
算法
Zhen7-7
学无止境
展开
-
两个数交换输出的5种方式
两个数交换输出的5种方式1. 使用一个临时变量2. 异或操作3. 小学加减法4. 小学乘除法(不推荐使用,丢精度)5. 最狗的方式 骚的一批话不多说 上代码!package cn.zhen77.Tools; public class Swap { //交换输出两个数的5种方式 public static void main(String[] args) { int a=1,b=2; System.out.println("a="+a+",b="+b); swap1(a,原创 2021-03-23 17:04:16 · 1711 阅读 · 0 评论 -
InsertionSort插入排序
算法思想:就是插扑克牌,内循环:(针对1张牌)每次新来的扑克牌,依次和前面的牌进行比较,比前面小,就和其交换结果:最小的牌,会到适合他的位置外循环 :对剩下的牌进行如上操作时间复杂度:O(n²)空间复杂度:O(1)是稳定的public class InsertionSort { public static void main(String[] args) { DataChecker.check(); } static void sort(int[] arr) { .原创 2021-03-15 09:11:12 · 140 阅读 · 0 评论 -
BubbleSort冒泡排序
算法思想:内循环思路:每两个数依次比较,前者>后者,进行交换,之后往后窜两个数,继续比较.直到比较到最后两个数结果:第一次内循环结束后,会将最大的数排到最后;外循环:之后每次内循环会将非定位元素中相对较大的排到非定位元素之后(定位元素之前)直到第2个数排序完;排序结束;package demo;public class BubbleSort { public static void main(String[] args) { DataChecker.check(); } s原创 2021-03-14 13:18:19 · 217 阅读 · 3 评论 -
SelectionSort 选排和其增强版(自我理解)
从今天开始每天更新一个算法,包括思想和代码选择排序 :时间复杂度O(n的平方) 空间复杂度O(1) 不稳定算法思想:使用一个索引minPtr默认指向arr[0],遍历数组,当遇见比arr[minPtr]小的将minPtr指针指向比那个小的位置,之后和arr[起始]交换 .之后依次将较小的选出进行交换package demo;import java.util.Arrays;import java.util.Random;public class SelectionSort {原创 2021-03-13 11:54:26 · 115 阅读 · 1 评论