java 测试排序_java排序的几种方法 - 善待自己的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

冒泡:publicclassBubbleSort {

publicstaticvoidbubbleSort(int[] array) {

intlength = array.length -1;

for(intout = length; out >0; out--) {

for(intin =0; in 

if(array[in] > array[in +1]) {

ints = array[in];

array[in] = array[in +1];

array[in +1] = s;

}

}

}

}

}public class BubbleSort {

public static void bubbleSort(int[] array) {

int length = array.length - 1;

for (int ut = length; out > 0; out--) {

for (int in = 0; in < out; in++) {

if (array[in] > array[in + 1]) {

int s = array[in];

array[in] = array[in + 1];

array[in + 1] = s;

}

}

}

}

}

插入:

Java代码publicclassInsertSort {

publicstaticvoidsort(int[]array){

intlength=array.length;

for(intout=1;out

inttemp=array[out];

intin=out;

while(in>0&&array[in-1]>temp){

array[in]=array[in-1];

--in;

}

array[in]=temp;

}

}

}public class InsertSort {

public static void sort(int[]array){

int length=array.length;

for(int ut=1;out

int temp=array[out];

int in=out;

while(in>0&&array[in-1]>temp){

array[in]=array[in-1];

--in;

}

array[in]=temp;

}

}

}

选择:

Java代码publicclassSelectSort {

publicstaticvoidsort(int[]array){

for(intout=0;out

intmin=out;

for(intin=out+1;in

if(array[in]

min=in;

}

}

intt =array[out];

array[out]=array[min];

array[min]=t;

}

}

}public class SelectSort {

public static void sort(int[]array){

for(int ut=0;out

int min=out;

for(int in=out+1;in

if(array[in]

min=in;

}

}

int t =array[out];

array[out]=array[min];

array[min]=t;

}

}

}

希尔:

Java代码publicclassSheelSort {

privateint[] hs;

privateint[] a;

publicvoidsort(){

for(inth:hs){

for(inti=h;i

intin=i;

intinValue=a[i];

while(in-h>-1&&a[in-h]>inValue){

a[in]=a[in-h];

in=in-h;

}

a[in]=inValue;

}

}

}

publicint[] getHs() {

returnhs;

}

publicvoidsetHs(int[] hs) {

this.hs = hs;

}

publicint[] getA() {

returna;

}

publicvoidsetA(int[] a) {

this.a = a;

}

}public class SheelSort {

private int[] hs;

private int[] a;

public void sort(){

for(int h:hs){

for(int i=h;i

int in=i;

int inValue=a[i];

while(in-h>-1&&a[in-h]>inValue){

a[in]=a[in-h];

in=in-h;

}

a[in]=inValue;

}

}

}

public int[] getHs() {

return hs;

}

public void setHs(int[] hs) {

this.hs = hs;

}

public int[] getA() {

return a;

}

public void setA(int[] a) {

this.a = a;

}

}

快速:

Java代码publicclassSpeedSort {

privateint[] a;

publicvoidsort() {

intbegin =0;

intend = a.length -1;

quickSort(begin, end);

for(inti : a) {

System.out.print(i +" ");

}

}

privatevoidquickSort(intbegin,intend) {

if(begin >= end) {

}else{

intpivot = a[end];

intresult = getPivot(begin, end, pivot);

quickSort(begin, result -1);

quickSort(result +1, end);

}

}

privateintgetPivot(intbegin,intend,intpivot) {

begin = begin -1;

into = end;

while(true) {

while(a[++begin] 

}

while(end >0&& a[--end] > pivot) {

}

if(begin >= end) {

break;

}else{

swap(begin, end);

}

}

swap(begin, o);

returnbegin;

}

privatevoidswap(intbegin,intend) {

intt = a[begin];

a[begin] = a[end];

a[end] = t;

}

publicint[] getA() {

returna;

}

publicvoidsetA(int[] a) {

this.a = a;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值