8中排序演算法java實現

2021-07-23 16:21:00 字數 1649 閱讀 6597

1.
package sort;

/** * 氣泡排序思想

* 自上而下,相鄰的兩個比較,小的向前,大的向後

* @author 2000105959

* */

public class sortmp ;

int temp;

for(int i=0; ia[j+1])}}

for(int i=0;i=list[low])

list[high]=list[low];

list[low]=temp;

}return low;

}}

3.

package sort;

/** * 直接插入排序思想

* 從後往前,對前有序列進行比較,找到額合適的位置插入

* @author 2000105959

* */

public class sortzjcr ;

int key;

for(int i=1;i=0;j--)

if(a[low]!=i)}}

public static void binaryinsertionsort(int array) else

}// 移動陣列

for (int j = i; j > left; j--)

// 在找到的位置插入

array[left] = temp;}}

}

5

package sort;

/** * 希爾排序思想

* 先將整個待排序的記錄序列分割成為若干子串行分別進行直接插入排序,

* 待整個序列中的記錄「基本有序」時,再對全體記錄進行依次直接插入排序

* @author 2000105959

* */

public class sortxe

else

} data[j] = temp;}}

}}

6

package sort;

/** * 簡單選擇排序思想

* 每趟選擇最小的元素組成有序列

* @author 2000105959

* */

public class sortjdxz ;

for(int i=0;i=0;i--)

return nums;

} /**

* 將陣列中low到high位置的數進行排序

* @param nums 待排序陣列

* @param low 待排的開始位置

* @param mid 待排中間位置

* @param high 待排結束位置

*/public static void merge(int nums, int low, int mid, int high) else

}// 把左邊剩餘的數移入陣列

while (i <= mid)

// 把右邊邊剩餘的數移入陣列

while (j <= high)

// 把新陣列中的數覆蓋nums陣列

for (int k2 = 0; k2 < temp.length; k2++)

}}

java中排序演算法

常用的排序演算法有以下幾類 插入排序 直接插入排序,希爾排序 選擇排序 簡單選擇排序,堆排序 交換排序 氣泡排序,快速排序 歸併排序,基數排序。排序方法選擇得當與否直接影響程式執行的速度和輔助儲存空間的占有量,進而影響整個軟體的效能。下面對這些演算法一一的介紹他們究竟是怎麼排的。插入排序 直接插入排...

C語言中排序演算法

選擇排序 拿到其中乙個元素的值依次和其他元素進行比較,完全比較完一次之後,最大或者最小的值出現在第0位.氣泡排序 用兩個相鄰的元素進行比較,每完全比較完依次,最大或者最小的值出現在末尾.例 intnums 5 int length sizeof nums sizeof nums 0 for int ...

排序演算法java實現

以下文章 亦風亦塵的空間http blog.csdn.net lschou520 archive 2008 10 29 3176422.aspx 插入排序 package org.rut.util.algorithm.support import org.rut.util.algorithm.sor...