啦啦啦!我又来了!我是超carry的MF!
(装作自己刚刚没有来过。。。)感觉自己写博客好像是在自言自语,唉…没办法谁让自己是个大话痨呢QAQ
选择和插入排序,加上之前的冒泡法,“排序三法宝”
package Text0623;
import java.util.Arrays;
public class Text01 {
//选择排序,假拟i最小值
/**
* 选择排序
* @param arr
*/
public static void sort1(int[] arr) {
//轮次
for(int i=0;i<arr.length-1;i++) {
//假拟的最小值下标
int minIndex=i;
//获取到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;
}
}
}
/**
* 插入排序
* @param arr
*/
public static void sort2(int[] arr) {
for (int i = 1; i < arr.length; i++) {
int temp=arr[i];//缓存一个元素,和有序进行比较的那个数
int j=i;//需要进行对比有序元素的下标
for(;j>0&&arr[j-1]>temp;j--) {
arr[j]=arr[j-1];
}
if(j!=i) {//进行了移动
arr[j]=temp;//在空位置将缓存值放置上去
}
}
}
public static void main(String[] args) {
int[]arr= {5,8,9,1,2,6};
sort1(arr);
System.out.println(Arrays.toString(arr));
}
}
运行后
上面这个图截的有点大了。。。。。算了就这样,还能显得篇幅大。
在网上看到的模拟图,觉得很客观很简单易懂,选择排序 ⬆⬆⬆
插入排序 ⬆⬆⬆
独坐幽篁里,弹琴复长啸。
深林人不知,明月来相照。
高中时有段时间,很喜欢这首万维的竹里馆,第一句话就很有画面感,月下独坐在竹林深处,敲敲代码还不错吧!!