范文无忧网范文学习范文大全

java几种基本排序

01月31日 编辑 fanwen51.com

[生态农业的建设遵循的基本原理](1)该农业生态工程的建设遵循的基本原理是物质循环生原理、协调与平衡原理、整体性原理、物种多样性原理、系统学和工程学原理. (2)该生态系统的主要成分是生产者,即农作物;猪...+阅读

/**

* 冒泡排序

* 比较相邻的元素。如果第一个比第二个大,就交换他们两个。

* 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

* 针对所有的元素重复以上的步骤,除了最后一个。

* 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

* param numbers 需要排序的整型数组

*/

public static void bubbleSort(int[] numbers)

{

int temp = 0;

int size = numbers.length;

for(int i = 0 ; i < size-1; i ++)

{

for(int j = 0 ;j < size-1-i ; j++)

{

if(numbers[j] > numbers[j+1]) //交换两数位置

{

temp = numbers[j];

numbers[j] = numbers[j+1];

numbers[j+1] = temp;

}

}

}

}

快速排序的基本思想:

通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则分别对这两部分继续进行排序,直到整个序列有序。

/**

* 查找出中轴(默认是最低位low)的在numbers数组排序后所在位置

*

* param numbers 带查找数组

* param low 开始位置

* param high 结束位置

* return 中轴所在位置

*/

public static int getMiddle(int[] numbers, int low,int high)

{

int temp = numbers[low]; //数组的第一个作为中轴

while(low < high)

{

while(low < high && numbers[high] > temp)

{

high--;

}

numbers[low] = numbers[high];//比中轴小的记录移到低端

while(low < high && numbers[low] < temp)

{

low++;

}

numbers[high] = numbers[low] ; //比中轴大的记录移到高端

}

numbers[low] = temp ; //中轴记录到尾

return low ; // 返回中轴的位置

}

递归形式的分治排序算法:

/**

*

* param numbers 带排序数组

* param low 开始位置

* param high 结束位置

*/

public static void quickSort(int[] numbers,int low,int high)

{

if(low < high)

{

int middle = getMiddle(numbers,low,high); //将numbers数组进行一分为二

quickSort(numbers, low, middle-1); //对低字段表进行递归排序

quickSort(numbers, middle+1, high); //对高字段表进行递归排序

}

}

延伸阅读:

生态工程所遵循的基本原理有哪些生态工程是从系统思想出发,按照生态学、经济学和工程学的原理,运用现代科学技术成果、现代管理手段和专业技术经验组装起来的,以期获得较高的经济、社会、生态效益的现代农业工...

职业规划的基本方法一、什么是职业生涯规划 职业生涯规划指的是一个人对其一生中所承担职务的相继历程的预期和计划,这个计划包括一个人的学习与成长目标,及对一项职业和组织的生产性贡献和成就...

哪位帮我讲讲java中的快速排序快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按次方法对这两...

请问Java快速排序法是怎么算的* 步骤为: * 1. 从数列中挑出一个元素,称为 "基准"(pivot), * 2. 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在...

java中快速排序的算法举个例子package person.test; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Random; /** * cl...

java快速排序算法最好是示例的那种感激不尽public static void main(String[] args) { int[] arr = {1,4,7,2,5,8,3,6,9}; quickSort(arr); } public static void quickSort(int[] a) { quickSort(a, 0, a.length - 1...

排序都有哪几种方法排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序) 快速排序的伪代码。 / /使用快速...

Java的排序算法有哪些插入排序: package org.rut.util.algorithm.support; import org.rut.util.algorithm.SortUtil; /** * author treeroot * since 2006-2-2 * version 1.0 */ public class In...

用java快速排序法求十个数中的最大值public class QuickSort { private int[] list = {}; public void setList(int[] list){ this.list = list; } public int[] getList(){ return this.list; } public void s...

推荐阅读
图文推荐
栏目列表