排序算法
curry写代码
微信:wqjj211314
展开
-
一步一步解析JAVA排序算法--插入排序
首先看两个元素的数组disorder[]={56,34};的升序排列 首先看两个元素的数组disorder[]={56,34};的升序排列//以disorder[1]作为待插入元素为基本 //56>34,将34提取出来,交换位置 if(disorder[0]>disorder[1]){ int temp=disorder[1]; disorder[1]=disorder[0];原创 2016-07-30 21:01:56 · 301 阅读 · 0 评论 -
一步一步解析java排序算法--希尔排序
public static void inset_order(int[] disorder){ for (int i = 1; i < disorder.length; i++) { if(disorder[i-1]>disorder[i]){ //将待插入元素提取出来,以便与前边元素进行比较。最后用来插入使用原创 2016-08-07 21:31:50 · 314 阅读 · 0 评论 -
一步一步解析java排序算法--堆排序(最小堆)
首先明确什么是堆? 一个数组: int[] unsort={12,24,35,40,50,66,70,56,55}; 堆的表现形式(这是一个最小堆,根节点是最小的): 用数组来表示堆,i结点的父结点下标就为(i – 1) / 2。它的左右子结点下标分别为2 * i + 1和2 * i + 2。(这样就是给数组建好堆了)下面进入堆排序的核心步骤:堆节点的移动 这里需要对unsort[3]原创 2016-08-12 22:48:07 · 486 阅读 · 0 评论 -
一步一步解析java排序算法---堆排序(最大堆)
与最小堆(递减)类似: 最大堆(递增)的调整操作: //从i节点开始调整, i节点的子节点为 2*i+1, 2*i+2 public static void MaxHeapFixdown(int a[], int i, int n) { int j, temp; temp = a[i]; /原创 2016-08-13 12:39:25 · 356 阅读 · 0 评论 -
二分查找
public static void main(String[] args) { int[] a={0,1,4,5,6}; f(a, 0); f(a, 1); f(a, 4); f(a, 5); f(a, 6); } public static int f(int[] a,int t){原创 2016-09-17 20:45:51 · 179 阅读 · 0 评论 -
java冒泡排序
//冒泡排序,升序 public static int[] sort(int[] a){ for (int i = 0; i < a.length; i++) { for (int j = 0; j < (a.length-i-1); j++) { if(a[j]>a[j+1]){原创 2016-09-08 16:08:27 · 186 阅读 · 0 评论