冒泡排序
- 冒泡排序算法的原理如下:
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
3.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
选择排序
插入排序
插入排序在日常生活中,就如同打麻将。首先从数组的第二个元素开始。判断它的前一个元素是否大于自己,若大于自身,则交换,否则不管。循环结束条件就是后面的再也没有元素,因此进行盘判断。
package 数组;
import java.util.Arrays;
public class Sort {
public static void main(String[] args) {
// BubleSort(); 冒泡排序
// selectSort();选择排序
// insertSort();插入排序
}
private static void insertSort() {
//插入排序
int[] a={3,5,2,4,1,8,6,9,7};
for(int i=1;i<a.length;i++){
for(int j=i;j>0;j--){
if(a[j-1]>a[j]){
int temp=a[j-1];
a[j-1]=a[j];
a[j]=temp;
}
}
}
System.out.println(Arrays.toString(a));
}
private static void selectSort() {
//选择排序
int[] a={3,1,0,5,7,6,4,2,9,8};//从小到大
for(int i=0;i<a.length-1;i++){
for(int j=i+1;j<a.length;j++){
if(a[i]>a[j]){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
System.out.println(Arrays.toString(a));
}
private static void BubleSort() {
//冒泡排序
int[] a={3,1,0,5,7,6,4,2,9,8};//从小到大
for(int i=0;i<a.length-1;i++){
for(int j=0;j<a.length-1-i;j++){
if(a[j]>a[j+1]){
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
System.out.println(Arrays.toString(a));
}
}