![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
骑驴那小子
魂升九天,魄落九渊;生者悲苦,死人平安。
展开
-
希尔排序法
思路:跨维度比较,通过获取其长度来判断维度的值,并慢慢缩小维度(i = n/2,n/4,n/8,…4,2,1)代码演示:package com.piao.sort;import java.util.Arrays;/** * 希尔排序: * 思路:跨维度比较,通过获取其长度来判断维度的值,并慢慢缩小维度(i = n/2,n/4,n/8,......4,2,1) */public class test_shellSort { public static void main(Str.原创 2022-03-14 17:21:53 · 286 阅读 · 0 评论 -
选择排序法
该算法的思路是:从头开始寻找,找出最小的数,将之放在前面,之后一次找出第二小的数、第三小的数…直到所有的数字排完代码展示:package com.piao.sort;import java.util.Arrays;/**** * 选择排序: * 思路:在整个数组中比较出最小的数,然后放在前面 */public class test_selectionSort { public static void main(String[] args) { int[] ar.原创 2022-03-14 17:05:00 · 58 阅读 · 0 评论 -
归并排序法
核心思路:采用了分治将数组分为多个小组,先将小组中的数进行比较,将小组中的数排序之后,再与其他的小组进行排序代码如下:package com.piao.sort;import java.util.Arrays;/*** * 归并排序:采用分治的方法 */public class test_mergeSort { public static void main(String[] args) { int[] arr={8,4,5,7,1,3,6,2}; .原创 2022-03-14 16:57:41 · 72 阅读 · 0 评论 -
插入排序法
核心思路:从前往后排,设置一个指针,指向第一个数,先将它以及它前面的数进行排序,然后再将指针指向下一个地址,然后再将前面的所有数进行排序,直到指针指向最后一个数为止代码如下:package com.piao.sort;import java.util.Arrays;/** * 插入排序: * 思路:先默认第一个数已经排序好了,然后将后面的数依次与前面排序好的所有数进行比较, * 大于,就插入在后面,小于就放在前面,并且将较大的数往后面移动 */public class t.原创 2022-03-14 07:04:47 · 960 阅读 · 0 评论 -
冒泡排序法
冒泡排序的主要思路就是;相邻的两数进行比较,将较大的数放后面,这样较大的数就会一步一步的向后移动,直到无法移动为止,然后再从头开始比较,直到排序结束代码如下:package com.piao.sort;import java.util.Arrays;/** * 冒泡排序: * 思路;相邻的数之间比较,小的放前面 */public class test_bubbleSort { public static void main(String[] args) { i.原创 2022-03-14 06:37:35 · 70 阅读 · 0 评论 -
算法-----快速排序
快速排序的思路就是先定个锚点,我们可以选择前端的一个数或者后端的一个数作为锚点,然后从另一端开始匹配,将小于的数放在前面,大于的数放在后面。比如说;给定一组数:30,40,60,10,20,50需要两个指针i、j分别指向数组的头和尾确定锚点x,令x=30从后面往前遍历,并判断是否存在比锚点小的数,若有则返回它的索引值判断i<j;true则将将该值赋给指针i指向的地址,并将指针i向后移动移动指针i,直到查询到比锚点大的值,返回索引判断i<j;true则将将该值赋给指针j指向的地.原创 2022-03-14 06:27:38 · 659 阅读 · 0 评论