zoukankan      html  css  js  c++  java
  • 数组排序 与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));
    		}
    
    	}
    
  • 相关阅读:
    java计算组合数
    编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数
    不用static,巧用对象.方法调用java中的函数
    主函数调用相同函数名的小知识
    poj 3608 旋转卡壳求不相交凸包最近距离;
    UVa1453或La4728 凸包+枚举(或旋转卡壳)
    hdu4666 最远曼哈顿距离
    poj2926 曼哈顿最远距离
    poj 2187 凸包加旋转卡壳算法
    UVa 10256 凸包简单应用
  • 原文地址:https://www.cnblogs.com/zuo72/p/7900855.html
Copyright © 2011-2022 走看看