常见比较排序算法的JAVA实现 下载本文

内容发布更新时间 : 2024/5/7 3:47:22星期一 下面是文章的全部内容请认真阅读。

JAVA实现常见比较排序

直接插入、Shell、简单选择、冒泡、快速、归并 参考:严蔚敏老师的数据结构 public class Sort {

/******************************插入排序***************************/

/***直接插入排序* 稳定 * n2**/

public static void strightInsertSort(int[] array){ }

/*******shell排序* 不稳定 * n1.3***/ public static void shellSort(int[] array,int[] incs){

if(array == null || array.length <=1)

return;

if(array == null || array.length <=1)

for(int i = 1; i

int key = array[i]; int j =0;

for(j = i -1; j>=0&&key

array[j+1] = array[j];

return;

array[j+1] = key;

if(incs == null || incs.length <=0)

for(int i = 0; i

onceShellSort(array,incs[i]); return;

}

}

/**一趟shell排序**/

private static void onceShellSort(int array[],int inc){ }

for(int m = 0; m < inc; m++){ }

for(int i = m+inc; i < array.length; i+=inc){ }

int key = array[i]; int j = i -inc;

for(;j>=0&&key

array[j+inc] = array[j];

array[j+inc] = key;

/*****************************************************************/

/************************************选择排序********************************/

/*******简单选择排序*稳定*n2*****/

public static void simpleSelectSort(int[] array){

if(array == null || array.length <=1)

return;

for(int i = 0;i

int local = i;

for(int j = i;j

if(array[j] < array[local])

}

}

}

local = j;

int tmp = array[local]; array[local] = array[i]; array[i] = tmp;

/*******************************************************************************/

/************************************交换排序**************************************/

/*****冒泡排序*稳定*n2***/

public static void bubbleSort(int[] array){ }

if(array == null || array.length <=1)

return;

int tmp;

for(int i = 0; i

for(int j = 0; j

if(array[j] > array[j+1]){ //交换 }

tmp = array[j]; array[j] = array[j+1]; array[j+1] = tmp;