算法
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 · 1596 阅读 · 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 · 104 阅读 · 0 评论 -
BubbleSort冒泡排序
算法思想: 内循环思路:每两个数依次比较,前者>后者,进行交换,之后往后窜两个数,继续比较.直到比较到最后两个数 结果:第一次内循环结束后,会将最大的数排到最后; 外循环:之后每次内循环会将非定位元素中相对较大的排到非定位元素之后(定位元素之前) 直到第2个数排序完;排序结束; package demo; public class BubbleSort { public static void main(String[] args) { DataChecker.check(); } s原创 2021-03-14 13:18:19 · 130 阅读 · 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 · 90 阅读 · 1 评论