日日夜夜 1 排序

2021-09-24 18:05:09 字數 3543 閱讀 5149

public static void bubblesort(int arr) 

for (int e = arr.length - 1; e > 0; e--)

} }}public static void swap(int arr, int i, int j)

public static void insertionsort(int arr) 

for (int i = 1; i < arr.length; i++) }}

public static void swap(int arr, int i, int j)

public static void selectionsort(int arr) 

for (int i = 0; i < arr.length - 1; i++)

swap(arr, i, minindex); }}

public static void swap(int arr, int i, int j)

public static void quicksort(int arr) 

quicksort(arr, 0, arr.length - 1);

} public static void quicksort(int arr, int l, int r)

} public static int partition(int arr, int l, int r) else if (arr[l] > arr[r]) else

} swap(arr, more, r);

return new int ;

} public static void swap(int arr, int i, int j)

public static void heapsort(int arr) 

for (int i = 0; i < arr.length; i++)

int size = arr.length;

swap(arr, 0, --size); //第二步 最後位置數與根位置交換

while (size > 0)

} public static void heapinsert(int arr, int index)

} public static void heapify(int arr, int index, int size)

swap(arr, largest, index);

index = largest;

left = index * 2 + 1;

} }public static void swap(int arr, int i, int j)

public static void mergesort(int arr) 

mergesort(arr, 0, arr.length - 1);

} public static void mergesort(int arr, int l, int r)

int mid = l + ((r - l) >> 1); //這個是在內層遞迴之前,每次都執行新的中點

mergesort(arr, l, mid);

mergesort(arr, mid + 1, r);

//完全遞迴之後 才執行遞迴之後的** 兩邊都完全有序,開始merge 建立乙個新的陣列再賦值到原陣列

09 排序1 排序

09 排序1 排序 25 分 給定n 個 長整型範圍內的 整數,要求輸出從小到大排序後的結果。本題旨在測試各種不同的排序演算法在各種資料情況下的表現。各組測試資料特點如下 include include includeusing namespace std const int cutoff 1000...

09 排序1 排序

n個 長整型範圍內的 整數,要求輸出從小到大排序後的結果。資料2 11個不相同的整數,測試基本正確性 資料3 10 3個隨機整數 資料4 10 4個隨機整數 資料5 10 5個隨機整數 資料6 10 5個順序整數 資料7 10 5個逆序整數 資料8 10 5個基本有序的整數 資料9 10 5個隨機正...

09 排序1 排序

本題旨在測試各種不同的排序演算法在各種資料情況下的表現。各組測試資料特點如下 資料1 只有1個元素 資料2 11個不相同的整數,測試基本正確性 資料3 103個隨機整數 資料4 104個隨機整數 資料5 105個隨機整數 資料6 105個順序整數 資料7 105個逆序整數 資料8 105個基本有序的...