来源:自学PHP网 时间:2020-09-27 14:14 作者:小飞侠 阅读:次
[导读] java Arrays快速打印数组的数据元素列表案例...
今天带来java Arrays快速打印数组的数据元素列表案例教程详解
1、Arrays.toString 用来快速打印一维数组的数据元素列表 2、Arrays.deepToString 快速打印一个二维数组的数据元素列表 public static strictfp void main(String[] args) { String[][] arr = {{"aaa","bbb"},{"ccc"}}; for(int x=0;x<arr.length;x++){ for(int y=0;y<arr[x].length;y++){ System.out.println(arr[x][y]); } } //Arrays.deepToString 快速打印一个二维数组的数据元素列表 System.out.println(Arrays.deepToString(arr)); } 补充知识:Java使用快速排序法对数组从小到大排序 给定值的快速排序` import java.util.*; public class Program_kuaipai { public static void main(String[] args) { String str = "12 34 1 -5 9 100 55 0"; String[] numStrs = str.split(" "); int[] numArray = new int[numStrs.length]; for(int i=0;i<numStrs.length;i++) { numArray[i] = Integer.valueOf(numStrs[i]); } quickSort(numArray);//快速排序 /*for(int i=0;i<numStrs.length;i++) { System.out.println(numArray[i]); }*///用for循环输出整形数组 System.out.println(Arrays.toString(numArray));//用Arrays.toString()输出 } public static void quickSort(int[] numArray) { if(numArray.length>0) { quickSort(numArray,0,numArray.length-1); } } private static void quickSort(int[] numArray,int left,int right) { if(left>right) { return; } int i=left; int j=right; int sentry=numArray[left];//找一个“哨兵” //int sentry=numArray[(i+j)/2]; while(i<j) { while(i<j&&numArray[j]>sentry)//从右向左找一个比“哨兵”小的值 { j--; } while(i<j&&numArray[i]<=sentry)//从左向右找一个比“哨兵”大的值 { i++; } if(i<j)//将两个值交换位置 { int mid=numArray[i]; numArray[i]=numArray[j]; numArray[j]=mid; } } int mid=numArray[i]; numArray[i]=numArray[left]; numArray[left]=mid;//改变“哨兵”的位置 quickSort(numArray, left, i-1 );//递归,将左部分再次进行快排 quickSort(numArray, i+1, right );//递归,将右部分再次进行快排 } } 可输入值的快速排序: import java.util.*; public class Program_kuaipai { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String str = scan.nextLine();//输入需要排序的数字 String[] numStrs = str.split(" "); int[] numArray = new int[numStrs.length]; for(int i=0;i<numStrs.length;i++) { numArray[i] = Integer.valueOf(numStrs[i]); } quickSort(numArray);//快速排序 /*for(int i=0;i<numStrs.length;i++) { System.out.println(numArray[i]); }*///用for循环输出整形数组 //Arrays.sort(numArray);//用Arrays.sort()的排序 System.out.println(Arrays.toString(numArray));//用Arrays.toString()输出 } public static void quickSort(int[] numArray) { if(numArray.length>0) { quickSort(numArray,0,numArray.length-1); } } private static void quickSort(int[] numArray,int left,int right) { if(left>right) { return; } int i=left; int j=right; int sentry=numArray[left];//找一个“哨兵” while(i<j) { while(i<j&&numArray[j]>sentry)//从右向左找一个比“哨兵”小的值 { j--; } while(i<j&&numArray[i]<=sentry)//从左向右找一个比“哨兵”大的值 { i++; } if(i<j)//将两个值交换位置 { int mid=numArray[i]; numArray[i]=numArray[j]; numArray[j]=mid; } } int mid=numArray[i]; numArray[i]=numArray[left]; numArray[left]=mid;//改变“哨兵”的位置 quickSort(numArray, left, i-1 );//递归,将左部分再次进行快排 quickSort(numArray, i+1, right );//递归,将右部分再次进行快排 } }
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com