選擇排序類
交換排序類
歸併排序類
附工具類
直接插入排序
public
class
insertionsorter
a[j] = tmp;
// arrayutils.printarray(a);}}
public
static
super anytype>> void
sort(anytype a, int left, int right)
a[j] = tmp;
}arrayutils.printarray(a);
}}
希爾排序public
class
shellsorter
a[j] = tmp;}}
// printarray(a);
}}
簡單選擇排序public
class
******selectsorter
}if (i != min)
// arrayutils.printarray(a);}}
}
堆排序public
class
heapsorter
buildmaxheap(array);
for (int i = array.length - 1; i >= 1; i--)
}private
static
void
buildmaxheap(int array)
int half = array.length / 2;
for (int i = half; i >= 0; i--)
}private
static
void
maxheap(int array, int heapsize, int index)
if (right < heapsize && array[right] > array[largest])
if (index != largest)
}/**
* 堆排序方法 o(nlogn) o(nlogn) o(nlogn) o(1)不穩定 不適合序列個數較少的情況
** 對空間要求很少
**@param a
*@param
*/public
static
super anytype>> void
sort(anytype a)
for (int i = a.length - 1; i > 0; i--)
}private
static
super anytype>> void
swapreferences(anytype a, int i, int i1)
private
static
super anytype>> void
percdown(anytype a, int i, int n)
if (tmp.compareto(a[child]) < 0) else
}a[i] = tmp;
}private
static
intleftchild(int i)
}
氣泡排序public
class
bubblesorter
}// system.out.println("--------------------------");
}// for (int i = 0; i < a.length; i++)
// }
// }
// system.out.println(count);
}}
快速排序public
class
bubblesorter
}// system.out.println("--------------------------");
}// for (int i = 0; i < a.length; i++)
// }
// }
// system.out.println(count);
}}
歸併排序public
class
mergesorter
private
static
super anytype>> void
mergesort(anytype a, anytype tmparray, int left, int right)
}private
static
super anytype>> void
merge(anytype a, anytype tmparray, int leftpos, int rightpos, int rightend) else
}while (leftpos <= leftend)
while (rightpos <= rightend)
for (int i = 0; i < numelements; i++, rightend--)
}}
public
class arrayutils
public
static
> void
swapreferences(anytype a, int i, int i1)
public
static
> void
printarray(anytype a)
system.out.println();
}public
static
void
printarray(int array)
}system.out.println("}");
}}
排序演算法java實現
以下文章 亦風亦塵的空間http blog.csdn.net lschou520 archive 2008 10 29 3176422.aspx 插入排序 package org.rut.util.algorithm.support import org.rut.util.algorithm.sor...
java實現排序演算法
四種排序方式 1.氣泡排序 2.插入排序 3.快速排序 4.歸併排序 author zhaijian public class sorts bubblesort a insertsort a quicksort a mergesort a print a 氣泡排序 兩個迴圈,第乙個迴圈是指要排序的總...
排序演算法 Java 實現
1.氣泡排序高階之路 最簡單的交換排序 每個數與之後的所有數比較 param arr public void sort int arr 正宗的氣泡排序 每次從最後開始找出最小的數放在最前面,最小的數像氣泡一樣慢慢浮出水面 param arr public void bubblesort int ar...