可变参数,数组排序,二维数组

今日内容

数组排序

数组应用

对为数组 扩展

数组炒作:数组的扩容 复制 去重 排序 查找

1.可变参数

调用方法时:形参和形参要一一对应:个数,类型,顺序

形参:可以变化的值

public static void main(String[] args) {
		// TODO Auto-generated method stub
		//调用方法:调用可变参数的方法是,方法的擦书可以不用传递数组,直接传递类型相符的实参值即可
		getName2("张三","张三air","张三+","张三pro","张三plus","张三max","张三mini","张三S","","","");
		String[] name= {"张三","张三air","张三+","张三pro","张三plus","张三max","张三mini"};
		getName2(name);
		printNum(1,2,3,4,5,6,7,8,9);
		
	}
	//随机点名
	//参数:可变参数
	public static void getName(String[] names) {}
	
	public static void getName2(String...names) {
		//String...names 可变参数,在方法体内部当作String类型的数组来用
		Random rd=new Random();
		int index=rd.nextInt(names.length);
		String name=names[index];
		System.out.println(name+" :回答问题");
	}
	//方法中既有普通参数又有可变参数,可变参数一定在参数列表的最后
	public static void printNum(int num1,int num2,int...nums) {
		System.out.println(num1+""+num2);
		ArrayUtil.printInAry(nums);
	}

2.数组的排序,重点

int[] ary={321,54,682,153,5432,64,87,4};

升序排序:从小往大排

降序排序:从大往小排

  1. 冒泡排序:

    1. 规律:轮数—数组长度-1
    int[] ary={6541,651,18,62137,285,12132,65};
    		//外层控制比较的次数
    		ArrayUtil.printInAry(ary);
    		for(int i=0;i<ary.length-1;i++)
    			//内层是每轮中,两两相邻进行比较
    			for(int j=0;j<ary.length-i-1;j++)
    				if(ary[j]>ary[j+1]) {
    					//交换
    					int temp=ary[j];
    					ary[j]=ary[j+1];
    					ary[j+1]=temp;
    				}
    		ArrayUtil.printInAry(ary);
    
  2. 选择排序

    1. 规律:某个元素和其后面的每个元素都进行比较,交换位置
    //选择排序
    		int[] ary= {2,654,231,8,054,12,5};
    		System.out.println("排序前");
    		ArrayUtil.printInAry(ary);
    		System.out.println("排序中");
    		//外层循环控制轮数
    		for(int i=0;i<ary.length-1;i++) {
    			for(int j=i+1;j<ary.length;j++) {
    				if(ary[i]>ary[j]) {
    					int temp=ary[i];
    					ary[i]=ary[j];
    					ary[j]=temp;
    				}
    			}
    			ArrayUtil.printInAry(ary);
    		}
    		System.out.println("排序后");
    		ArrayUtil.printInAry(ary);
    
    
  3. Arrays. Sort(ary);` 升序排列,使用的是冒泡

3.二维数组

​ 一维数组:数组的元素就是普通的值,

​ 二维数组:数组的元素又是一个数组。

· 超级面试题:二维数组,八皇后

总结

1.可变参数

2.数组排序 冒泡,选择 Arrays.sort(ary);

3.二维数组

​ 声明

​ 赋值

​ 遍历

上一篇:访问者模式 Visitor Design Pattern


下一篇:算法——二分查找