排序算法
屈楚
做一个代码整洁的程序员
展开
-
快速排序——java实现(左右指针法)
下面代码中首先需要清楚以下几点 position方法中 1.选择数组中的最后一个元素arr[high]作为轴(key) 2.左指针为left,从最左边开始寻找第一个比key大的数 3.右指针为right,从key前面的一个元素开始向后寻找第一个比key小的数值 4.经过2,3两个步骤后,将会出现以下两种情况 (1):left和right没有相遇,此时进行交...原创 2019-03-13 15:52:01 · 848 阅读 · 0 评论 -
归并排序——java实现
下面代码,首先需要清楚的是: “归并”的含义是将两个或者两个以上的有序表组合称一个新的有序表。归并也是递归的思想,假定待排序表含有n个记录,则可以看成是n个有序的子表,每个子表的长度为1,然后俩俩归并,得到长度为2的有序片段,然后再次将有序的两个长度为2的片段进行归并,变为长度为4的有序的片段.......最后变为长度为n的有序表。 代码如下: public class MergeSort...原创 2019-03-13 16:30:22 · 105 阅读 · 0 评论 -
选择排序——java实现
下面代码,首先需要清楚: 选择排序就是每次选择一个最小的数据,放在已经有序的子序列的后边。 代码如下: public class SelectSort { public static void main(String[] args) { int[] num={9,8,7,6,5,4,3,2,1}; SelectSort(num); f...原创 2019-03-13 17:02:53 · 151 阅读 · 0 评论 -
PAT 乙级 1035 java
在提交的过程中一直提示格式错误,发现题目有一个坑,不让数组打印输出的时候首尾出现空格,所以卡了很久,所以在打印输出的时候进行了判断,题目的思路在代码里面。 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; /** * 题目思路: * 1.插入排序:判断前一部分...原创 2019-04-11 15:57:29 · 208 阅读 · 0 评论