</pre><p><span style="white-space:pre"></span>选择排序,冒泡排序,插入排序,虽然比较简单,但是在笔试中经常遇到。</p><p><pre name="code" class="java">package com.xp.test;
import java.util.Arrays;
public class SelectSort {
public static void main(String[] args) {
int[] arr = new int[]{5,4,3,2,1};
selectSort(arr);
}
/**
选择排序思想:
1.将数组中的第一个元素依次与后面的元素做比较,
当遇到后面的某个元素比当前的第一个元素小时,
将两者的数值交换。
2.经过上面的比较之后,此时数组中的最小值已放置于下标为0的位置。
3.
*/
public static void selectSort(int[] arr){
for(int i = 0; i < arr.length - 1; i ++){
for(int j = i + 1; j < arr.length ; j++){
int temp = 0;
if(arr[i] > arr[j]){
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
System.out.println(Arrays.toString(arr));
}
}
}
package com.xp.test;
import java.util.Arrays;
public class BubbleSort {
public static void main(String[] args) {
int[] arr = new int[]{5,4,3,2,1};
bubbleSort(arr);
}
//依次比较相邻的两个元素,将小的放前面。
public static void bubbleSort(int[] arr){
for(int i = 0; i < arr.length - 1; i ++){
for(int j = 0; j < arr.length - 1 - i ; j++){
int temp = 0;
if(arr[j] > arr[j + 1]){
temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
System.out.println(Arrays.toString(arr));
}
}
}
package com.xp.test;
import java.util.Arrays;
public class InsertSort {
public static void main(String[] args) {
int[] arr = new int[]{5,4,3,2,1};
insertSort(arr);
}
//将数组分为两部分,将后部分的第一个逐一与前部分每一个元素比较,放置合理位置
public static void insertSort(int[] arr){
int j;
for(int i = 1; i < arr.length; i ++){
int temp = arr[i];
for(j = i - 1; j >= 0; j--){
if(temp < arr[j]){
arr[j + 1] = arr[j];
}else{
break;
}
}
arr[j + 1] = temp;
System.out.println(Arrays.toString(arr));
}
}
}