![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
查找和排序
蜗牛w_w
我要一步一步往上爬 _ _ - - ~ ~
展开
-
二分查找--Java实现
二分查找:前提是数组必须已经排好序,每次查询数组中间的数和目标数是否相等,相等就返回,如果大于目标数就查询左边的子数组,如果小于目标数就查询右边的子数组package Sort;/* * 二分查找 */public class SearchTest1 { public static void main(String[] args) { int[] arr={-1,0,1,2,...原创 2018-10-16 20:46:31 · 89 阅读 · 0 评论 -
冒泡排序--Java实现
冒泡排序:从数组第一个元素开始,和他的下一个元素对比,如果大于就交换两个元素位置,然后再对比第二个元素和第三个元素,一趟下来,最大的元素就会被放到了数组的最后边;由于最大元素已经放到最右边了,所以第二次排序的时候可以不考虑最后的元素了,以此类推,第三次排除就可以不考虑最后两个元素了,直到不考虑所有元素,即排序完成。package Sort;/* * 冒泡排序 */public cla...原创 2018-10-16 20:50:23 · 71 阅读 · 0 评论 -
插入排序--Java实现
插入排序:将每个元素插入到之前已经排好序的数组里面,直到全部插入。刚开始的时候,假设第一个元素(只有一个元素)已经排好序,从第二个元素开始,将第二个元素与第一个元素比较,若大于第一个元素,则插入到第一个后面,若小于,则将第一个元素后移(即后移到第二个元素的位置,第二个元素需要事先保存起来),然后将第二个元素放在第一个元素的位置上;接下来看第三个元素,和前两个元素比较(前两个元素已经排好序),从后往...原创 2018-10-16 20:57:00 · 72 阅读 · 0 评论 -
快速排序--Java实现
快速排序:方法一:以第一个数为基数,定义两个数,一个记录从后往前遍历的下标,一个记录从前往后遍历的下标,先从后往前遍历,找到一个数比基数小的值,记录下标,在从前往后遍历,找到一个比基数大的数,记录下标,交换两个数的位置,再继续遍历,先从后往前,再从前往后,一直到两个记录下标的数相等,则交换基数和该下标对应的数的位置,即该下标的数变成了第一个数(因为是先从后往前的,所以该下标对应的数肯定是小于基...原创 2018-10-16 21:07:10 · 150 阅读 · 0 评论