幾個排序演算法的Java實現

2021-08-11 17:53:01 字數 1417 閱讀 5946

package sort;

public

class sort

// 使用隨機數初始化陣列

public

static

void inite(int list)

}// 列印陣列

public

static

void display(int list)

system.out.println();

}// 插入排序o(n²),將新的元素插入到乙個有序的陣列,遍歷有序陣列找到插入位置

public

static

void insertionsort(int list)

list[k + 1] = temp;}}

// 氣泡排序o(n²)、o(n),依次比較相鄰元素,若不符合排序規則,則交換2個元素

public

static

void bublesort(int list) }}

}// 歸併排序o(nlogn),遞迴地將乙個陣列劃分為2個子陣列,然後將子陣列遞迴地歸併為乙個陣列

public

static

void mergesort(int list)

}// 將2個數合併到list陣列中

public

static

void merge(int firsthalf, int secondhalf, int list) else

}while (current1 < firsthalf.length)

while (current2 < secondhalf.length)

}// 快速排序的輔助方法

public

static

void quicksort(int list)

// 快速排序o(nlogn)、o(n),將陣列中小於主元pivot的元素放在pivot前,大於pivot的元素放在pivot後

public

static

void quicksort(int first, int last, int list)

}// 劃分,將《主元pivot的元素放在pivot前,>pivot的元素放在pivot後,對於其中的關係符號》 < >= <= 需要好好斟酌下

public

static

int partition(int first, int last, int list)

while (list[high] > pivot && low < high)

if (high > low)

}while (high > first && list[high] > pivot)

if (list[high] <= pivot) else

}}

排序演算法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實現

選擇排序類 交換排序類 歸併排序類 附工具類 直接插入排序public class insertionsorter a j tmp arrayutils.printarray a public static super anytype void sort anytype a,int left,int...