选择排序
选择排序法是一种不稳定的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。
package TestArr
;
public class Test2 {
public static void main(String
[] args
) {
int[] arr
= {36,25,14,68,97,101,87};
for (int i
= 0; i
< arr
.length
- 1; i
++) {
int minIndex
= i
;
for (int j
= i
+ 1; j
< arr
.length
; j
++) {
if (arr
[j
] < arr
[minIndex
]) {
minIndex
= j
;
}
if (i
!= minIndex
) {
int temp
= arr
[i
];
arr
[i
] = arr
[minIndex
];
arr
[minIndex
] = temp
;
}
}
}
System
.out
.println("排序后的数组为:");
for (int i
= 0; i
< arr
.length
; i
++) {
System
.out
.print(arr
[i
] + "\t");
}
}
}
运行结果截图
冒泡排序
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
package TestArr
;
public class Test3 {
public static void main(String
[] args
) {
int[] arr
= new int[]{36,25,14,985,97,101,456,211};
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
= 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");
}
}
}
运行结果截图
JDK排序
JDK排序是JDK为我们提供的一个快捷方法,但是只能提供提供升序排序
package TestArr
;
import java
.util
.Arrays
;
public class Test4 {
public static void main(String
[] args
) {
int[] arr
= new int[]{11,22,58,96,211,3,458,987,1};
Arrays
.sort(arr
);
System
.out
.println("排序后的数组为:" );
print(arr
);
}
public static void print(int[] arrary
){
for (int i
= 0; i
< arrary
.length
; i
++) {
System
.out
.print(arrary
[i
] + "\t");
}
}
}