您的位置:首页 > 其它

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

2017-07-19 21:25 246 查看
数组有一维数组那么他也有二位数组、三维数组、四维数组等。但是二维数组都已经不好控制了,所以三维、四维····都不用 。

所谓二位数组就是一维数组嵌套一个一维数组也可以说成 一维数组是单行数据 ,二位数组是个表格数据 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);
}
}
}
冒泡的思想就是  比较 然后换位 
首先让外层循环 用来控制 比较几次 里面的循环用来比较 当前位数和下一位的大小  升序排列的话  比下一位大就换位置比下一位小的话就不换位置  而后一次比较 当它比到最后一位的时候  就会出来一个最大值 这时候 内层循环就少比较一次 这样就会减少 比较次数

<
4000
p style="font-size:18px;">
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: