从这篇文章开始我将依次记录我学习数据结构并用java来实现相关算法的源代码,算是对自己学习的一个记录,也希望对其他初学者有帮助,大家一起进步!同时我保证我写的代码是自己在idea里手写并测试通过。
此篇文章我记录最简单也是最常用的冒泡排序法,后面再记录其它排序方法。
import java.util.Random;
//冒泡排序
public class MaopaoSort {
public static void main(String[] args) {
//初始化 1到100
int[] array = new int[50];
for (int i = 0; i < 50; i++) {
array[i] = new Random().nextInt(100);
}
sort(array,false);
}
//原理说明:如果是升序 就是执行n-1次,每次把最大往后移
public static void sort(int[] arry,boolean isDesc){
int temp=0;
for(int i=0;i<arry.length-2;i++){
for(int j=0;j<arry.length-1-i;j++){
if(arry[j]>arry[j+1]){
temp = arry[j+1];
arry[j+1] = arry[j];
arry[j]=temp;
}
}
}
if(isDesc){
//前后交换
for(int i=0; i<arry.length;i++){
temp = arry[i];
if(arry.length-1-i<=i){
break;
}
arry[i] = arry[arry.length-1-i];
arry[arry.length-1-i] = temp;
}
}
for(int item : arry){
System.out.print(item+" ");
}
}
}