数组补充 及二位数组 排序方法 冒泡

数组有一维数组那么他也有二位数组、三维数组、四维数组等。但是二维数组都已经不好控制了,所以三维、四维····都不用 。

所谓二位数组就是一维数组嵌套一个一维数组也可以说成 一维数组是单行数据 ,二位数组是个表格数据 java里面 表格的数据也可以是不相等的 

二维数组的放数可以是循环样式的 

public class ArraysDemo6 {
	public static void main(String[] args) {
		int [][]a=new int[4][2];
		int k=1;
		//for 循环放入数
		for(int i = 0;i<4;i++){
			for(int j =0;j<2;j++){
				a[i][j]=k;
				k++;
			}
		}
		//for each 取数 先取出一个数组 然后再取数组里面的数 用 循环取 
		for(int b[]:a){
			for(int l:b){
				System.out.println(l);
			}
		}
	}
}

public class ArraysDemo6 {
	public static void main(String[] args) {
		/*
		 * 数组的复制
		 */
		//从a的第2位开始复制三位数 到从b的第二位开始覆盖
		int[] a={1,2,3,4,5,6};
		int[] b={11,12,13,14,15,16,};
		System.arraycopy(a, 2, b, 2, 3);
		for(int i:b){
			System.out.println(i);
		}
	}
}
数组的Arrays操作
public class ArraysDemo6 {
	public static void main(String[] args) {
		int [] a={1,5,68,49,87,25,36,59,89};
		//查询下标并返回一个值   查询的数组必须是排好升序的数组  不然查取结果不准确 
		int i = Arrays.binarySearch(a, 25);
		System.out.println(i);
		//显示数组的 内容 
		String s = Arrays.toString(a);
		System.out.println(s);
		//按照升序排列 
		Arrays.sort(a);
		System.out.println(Arrays.toString(a));
	}
}

冒泡排序方法

public class PxMpao {
	public static void main(String[] args) {
		int[] a = { 1, 6, 9, 4, 3, 58, 68, 45, 32, 15, 79, 99, 5, 2, 4, 5, 6,
				4, 9, 2, 2, 54, 6 };
		//外层循环用来 控制总共的次数
		for (int i = 1; i <= a.length - 1; i++) {
			int temp;
			//内层循环用来判断比较的次数  
			//注意 上下循环可以 统一下 等号都是等号都减一  小于都是小于 那样就不用减一  
			for (int j = 0; j <= a.length - i - 1; j++) {
				//当前位和下一位去比较   用来交换位置 
				if (a[j] > a[j + 1]) {
					temp = a[j];
					a[j] = a[j + 1];
					a[j + 1] = temp;
				}
			}
		}
		for (int k : a) {
			System.out.println(k);
		}
	}
}

冒泡的思想就是  比较 然后换位 

首先让外层循环 用来控制 比较几次 里面的循环用来比较 当前位数和下一位的大小  升序排列的话  比下一位大就换位置比下一位小的话就不换位置  而后一次比较 当它比到最后一位的时候  就会出来一个最大值 这时候 内层循环就少比较一次 这样就会减少 比较次数
















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值