内容发布更新时间 : 2025/1/8 17:59:53星期一 下面是文章的全部内容请认真阅读。
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;