数组排序 与Arrays工具类

反转  冒泡排序,Arrays工具类的应用

public class Paixu {
	//反转排序
	public static void main(String[] args) {
		int arr [] = {2,1,5,6,9,7,4};  //长度为7
		//	    	  0 1 2 3 4 5 6
		for( int i = 0; i<arr.length/2;i++) {
			int temp = arr[i];
			arr[i] = arr[arr.length - i - 1];
			arr[arr.length - i - 1] = temp;
		}//2与4换,1与7换,5与9换
		
		p(arr); 
		//冒泡排序
		 int attr [] = {9,8,7,6,5,4,3,20,100};
		  
		 for(int  i=0;i<attr.length-1;i++)
		 {
		     for(int j=0;j<attr.length-1;j++)
		     {
		         if(attr[j]<attr[j+1]) //从大到小的顺序排列
		         {
		            int zj = attr[j];
		             attr[j] = attr[j+1];
		             attr[j+1] = zj;
		         }  
		     }  
		 }
		p(attr);
		//此工具类要引入
		Arrays.sort(arr);  //按从小到大的顺序排列出来
	Arrays.fill(arr, 2, 5, 90); //给数组添值,从索引值2到索引值4,不包括5,都改为90;
	int[] arrNew = Arrays.copyOf(arr, 13);  //复制数组,添加的长度为13,不足位的用0补齐
	int[] arrNew = Arrays.copyOfRange(arr, 2, 5); //数组的范围复制,索引值从2到5,不包括5
	int[] arr = {2,1,5,111,6,9,7,4,10}; // 1 2 4 5 6 7 9 10 111
	// 必须先排序 !!!!!
			Arrays.sort(arr);
			int i = Arrays.binarySearch(arr, 111);  //排完序之后 111的索引值
			System.out.println(i);//二分搜索法,必须先排序
	}
	public  static void  p( int a [] ) {  //构造一个方法,如果以后还有数组想进行反转,直接传一个数组进去就可
		for(int i = 0;i<a.length;i++) {
			System.out.print(a[i] + " ");
		}
	}
}

选择排序

public class SelectSoter {
	//选择排序,一般是按从小到大的顺序排序.拿索引值0的值与其他数比,把小的值拿前面来,
	//再依次从索引值1跟其他的比,没有返回类型的.
	public static void main(String[] args) {
		int[] a = { 354, 53, 24, 164, 13, 21 };
		System.out.println(Arrays.toString(a));
		System.out.println("以上是原始数据");
		
		for (int i = 0; i < a.length - 1; i++) {
			int index = i;
			for (int j = i + 1; j < a.length; j++) {
				if (a[index] > a[j]) {
					index = j;
				}
			}
			int temp = a[i];
			a[i] = a[index];
			a[index] = temp;
			System.out.println(Arrays.toString(a));
		}

	}
原文地址:https://www.cnblogs.com/zuo72/p/7900855.html