Day5
一、排序算法(共有8种)
1.冒泡排序 (主要) 注意交换次数最多 、最少 和比较次数
public class Test05 {
public static void main(String[] args) {
int[] arr = { 12, 45, 9, 67, 455 };
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp;
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
System.out.println(“排序后:”);
for (int i = 0; i < arr.length; i++)
System.out.print(arr[i] + “\t”);
}
}
2.选择排序(主要)
public static int[] dascSort(int[] param) {
int in, out;
int max;
int temp;
for (out = 0; out < param.length; out++) {
max = out;
for (in = out + 1; in < param.length; in++) {
if (param[max] < param[in]) {
max = in;
}
}
if (out != max) {
temp = param[out];
param[out] = param[max];
param[max] = temp;
}
}
return param;
}
3.插入排序(主要)
public static void InsertSort(int[] arr)
{
int i, j;
int n = arr.Length;
int target;
for (i = 1; i < n; i++)
{
j = i;
target = arr[i];
while (j > 0 && target < arr[j - 1])
{
arr[j] = arr[j - 1];
j–;
}
arr[j] = target;
}
}
4.快速排序
5.希尔排序
6.堆排序
7.基数排序
8.归并排序
11-06
06-28
1万+
07-28