package day05;publicclass 数组的选择排序 {publicstaticvoidmain(String[] args){int a []=newint[]{18,62,68,82,65,9};//排序前,先把内容打印出来for(int i =0; i < a.length; i++){
System.out.print(a[i]+" ");}
System.out.println(" ");//选择法排序//第一步: 把第一位和其他所有位进行比较//如果发现其他位置的数据比第一位小,就进行交换for(int i =1; i < a.length; i++){if(a[i]<a[0]){int temp = a[0];
a[0]= a[i];
a[i]= temp;}}//把内容打印出来//可以发现,最小的一个数,到了最前面for(int i =0; i < a.length; i++){
System.out.print(a[i]+" ");}
System.out.println(" ");//第二步: 把第二位的和剩下的所有位进行比较for(int i =2; i < a.length; i++){if(a[i]<a[1]){int temp = a[1];
a[1]= a[i];
a[i]= temp;}}//把内容打印出来//可以发现,倒数第二小的数,到了第二个位置for(int i =0; i < a.length; i++){
System.out.print(a[i]+" ");}
System.out.println(" ");//可以发现一个规律//移动的位置是从0 逐渐增加的//所以可以在外面套一层循环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;}}}//打印for(int i =0; i < a.length; i++){
System.out.print(a[i]+" ");}
System.out.println(" ");}}
数组的冒泡排序
package day05;publicclass 数组的冒泡排序 {publicstaticvoidmain(String[] args){int a []=newint[]{18,62,68,82,65,9};//排序前,先把内容打印出来for(int i =0; i < a.length; i++){
System.out.print(a[i]+" ");}
System.out.println(" ");//冒泡法排序//第一步:从第一位开始,把相邻两位进行比较//如果发现前面的比后面的大,就把大的数据交换在后面for(int i =0; i < a.length-1; i++){if(a[i]>a[i+1]){int temp = a[i];
a[i]= a[i+1];
a[i+1]= temp;}}//把内容打印出来//可以发现,最大的到了最后面for(int i =0; i < a.length; i++){
System.out.print(a[i]+" ");}
System.out.println(" ");//第二步: 再来一次,只不过不用比较最后一位for(int i =0; i < a.length-2; i++){if(a[i]>a[i+1]){int temp = a[i];
a[i]= a[i+1];
a[i+1]= temp;}}//把内容打印出来//可以发现,倒数第二大的到了倒数第二个位置for(int i =0; i < a.length; i++){
System.out.print(a[i]+" ");}
System.out.println(" ");//可以发现一个规律//后边界在收缩//所以可以在外面套一层循环for(int j =0; j < a.length; j++){for(int i =0; i < a.length-j-1; i++){if(a[i]>a[i+1]){int temp = a[i];
a[i]= a[i+1];
a[i+1]= temp;}}}//把内容打印出来for(int i =0; i < a.length; i++){
System.out.print(a[i]+" ");}
System.out.println(" ");}}
数组的正反排序
package day05;//创建一个长度是5的数组,并填充随机数。//首先用选择法正排序,然后再对其使用冒泡法倒排序publicclass 正反排序 {publicstaticvoidmain(String[] args){int[] arr =newint[5];//随用随机填充数for(int i =0; i < arr.length; i++){
arr[i]=(int)(Math.random()*100);
System.out.print(arr[i]+" ");}
System.out.println();//选择正排序for(int i =0; i < arr.length; i++){for(int j = i+1; j < arr.length; j++){if(arr[i]>arr[j]){int temp = arr[i];
arr[i]=arr[j];
arr[j]= temp;}}}for(int j =0; j < arr.length; j++){
System.out.print(arr[j]+" ");}
System.out.println();//冒泡倒序for(int i =0; i < arr.length; i++){for(int j =0; j < arr.length-i-1; j++){if(arr[j]<arr[j+1]){int temp = arr[j];
arr[j]= arr[j+1];
arr[j+1]= temp;}}}for(int i =0; i < arr.length; i++){
System.out.print(arr[i]+" ");}
System.out.println();}}
利用数组随机数求最小值
package day05;/*创建一个长度是5的数组
然后给数组的赋予随机整数
通过for循环,遍历数组,找出最小的一个值出来
0-100的 随机整数*/publicclass 利用数组随机数求最小值 {publicstaticvoidmain(String[] args){int[] a =newint[5];for(int i =0; i < a.length; i++){
a[i]=(int)(Math.random()*100);}
System.out.println("数组中的各个随机数:");for(int i =0; i < a.length; i++){
System.out.println(a[i]);}//定义最小值int min =a[0];for(int i =0; i < a.length; i++){if(min>a[i]){
min = a[i];}}
System.out.println("找出最小的值:"+min);
System.out.println("数组长度:"+a.length);//长度}}