目录
一.排序
1.1 冒泡排序
1.2 选择排序
1.3 插入排序
1.4 系统排序
二.二维数组
2.1 二维数组的赋值与取值
2.2 二维数组的遍历
2.3 二维数组的创建
一.排序
1.1 冒泡排序
//冒泡排序:相邻两数两两比较,大的放右边,比较完一轮后,最右边的数为最大值;以此类推共比较(长度-1)轮
//流程: 1.先画图分析 2.再写代码
public class MaoPao {
public static void main(String[] args) {
int[] a= {3,1,5,2,9,7,4,6};
for(int i=0;ia[j+1]) {
int t=a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
//System.out.println("第"+(i+1)+"轮:"+Arrays.toString(a));
}
System.out.println("排序后:"+Arrays.toString(a));
}
}
1.2 选择排序
//选择排序:假设第一个元素为最小,依次与后面元素比较;比较完一轮确定第一个位置元素是最小的;
// 假设第二个元素最小,依次与后面元素比较,以此类推;共比较(长度-1)轮
public class XuanXe {
public static void main(String[] args) {
int[] a = {3,1,5,2,9,7,6,4};
for(int i=0;ia[j]) {
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
//System.out.println("第"+(i+1)+"轮:"+Arrays.toString(a));
}
System.out.println("排序后:"+Arrays.toString(a));
}
}
1.3 插入排序
//插入排序
public class Insert {
public static void main(String[] args) {
int[] a= {3,1,5,2,9,7,4,6};
int t;
int j;
for(int i=0;i0 && t
1.4 系统排序
//系统提供的排序方法(系统写好了具体实现,我们只需要调用即可)
public class SystemSort {
public static void main(String[] args) {
int[] a = {3,1,5,2,6};
Arrays.sort(a); //系统提供的升序排列
System.out.println(Arrays.toString(a));
//假设系统提供升序排列后,我们需要降序排列,如何做?
//分析:收尾交换,交换长度/2次
int len = a.length;
for(int i=0;i
二.二维数组
2.1 二维数组的赋值与取值
public class Test1 {
public static void main(String[] args) {
//二维数组的操作:可以看成行和列的操作,长度由行长度和列长度,下标有行下标和列下标
int[][] a = new int[2][3]; //2是行长度 3是列长度
//赋值
a[0][0] = 4; //二维数组赋值 行下标范围:0~行长度-1 列下标范围:0~列长度-1
a[0][1] = 2;
a[0][2] = 6;
//a[0][3] = 7; //列下标溢出
a[1][0] = 8;
//取值
System.out.println(a[0][0]+"--"+a[0][1]+"--"+a[0][2]);
System.out.println(a[1][0]+"--"+a[1][1]+"--"+a[1][2]);
//System.out.println(a[2][0]); //行下标溢出
//注意: 一般二维数组的排列,往往人为的设计成行和列的排列,方便我们操作
}
}
2.2 二维数组的遍历
//二维数组的循环遍历
public class Test2 {
public static void main(String[] args) {
//二维数组的操作:可以看成行和列的操作,长度由行长度和列长度,下标有行下标和列下标
int[][] a = new int[2][3]; //2是行长度 3是列长度
//赋值
a[0][0] = 4; //二维数组赋值 行下标范围:0~行长度-1 列下标范围:0~列长度-1
a[0][1] = 2;
a[0][2] = 6;
//a[0][3] = 7; //列下标溢出
a[1][0] = 8;
//循环遍历
for(int i=0;i
2.3 二维数组的创建
//二维数组的创建:
public class Test3 {
public static void main(String[] args) {
//----动态赋值-----
//1.先声明再创建空间
int[][] a;
a = new int[2][3];
//2.声明的同时创建空间 (常用)
int[][] b = new int[2][3];
//3.创建空间的同时给定行长度
int[][] c = new int[2][];
c[0]=new int[]{3,5,8};
c[1]=new int[]{1,5,7};
//----静态赋值-----
//4.创建空间的同时进行赋值
int[][] d = {{1,2,5},{4,6,8}}; //二行三列的二维数组
//注意:第三种和第四种可以指定不规则的列(了解),循环遍历是一样的 例如:下面静态赋值的操作:
int[][] e = {{1,2,5},{4,6}};
for(int i=0;i
(周六周日休息,=-=,今日没啥分享的...多敲多练,不要让脑子生锈!!!)
二.二维数组
2.1 二维数组的赋值与取值
public class Test1 {
public static void main(String[] args) {
//二维数组的操作:可以看成行和列的操作,长度由行长度和列长度,下标有行下标和列下标
int[][] a = new int[2][3]; //2是行长度 3是列长度
//赋值
a[0][0] = 4; //二维数组赋值 行下标范围:0~行长度-1 列下标范围:0~列长度-1
a[0][1] = 2;
a[0][2] = 6;
//a[0][3] = 7; //列下标溢出
a[1][0] = 8;
//取值
System.out.println(a[0][0]+"--"+a[0][1]+"--"+a[0][2]);
System.out.println(a[1][0]+"--"+a[1][1]+"--"+a[1][2]);
//System.out.println(a[2][0]); //行下标溢出
//注意: 一般二维数组的排列,往往人为的设计成行和列的排列,方便我们操作
}
}
2.2 二维数组的遍历
//二维数组的循环遍历
public class Test2 {
public static void main(String[] args) {
//二维数组的操作:可以看成行和列的操作,长度由行长度和列长度,下标有行下标和列下标
int[][] a = new int[2][3]; //2是行长度 3是列长度
//赋值
a[0][0] = 4; //二维数组赋值 行下标范围:0~行长度-1 列下标范围:0~列长度-1
a[0][1] = 2;
a[0][2] = 6;
//a[0][3] = 7; //列下标溢出
a[1][0] = 8;
//循环遍历
for(int i=0;i
2.3 二维数组的创建
//二维数组的创建:
public class Test3 {
public static void main(String[] args) {
//----动态赋值-----
//1.先声明再创建空间
int[][] a;
a = new int[2][3];
//2.声明的同时创建空间 (常用)
int[][] b = new int[2][3];
//3.创建空间的同时给定行长度
int[][] c = new int[2][];
c[0]=new int[]{3,5,8};
c[1]=new int[]{1,5,7};
//----静态赋值-----
//4.创建空间的同时进行赋值
int[][] d = {{1,2,5},{4,6,8}}; //二行三列的二维数组
//注意:第三种和第四种可以指定不规则的列(了解),循环遍历是一样的 例如:下面静态赋值的操作:
int[][] e = {{1,2,5},{4,6}};
for(int i=0;i
(周六周日休息,=-=,今日没啥分享的...多敲多练,不要让脑子生锈!!!)
//二维数组的循环遍历
public class Test2 {
public static void main(String[] args) {
//二维数组的操作:可以看成行和列的操作,长度由行长度和列长度,下标有行下标和列下标
int[][] a = new int[2][3]; //2是行长度 3是列长度
//赋值
a[0][0] = 4; //二维数组赋值 行下标范围:0~行长度-1 列下标范围:0~列长度-1
a[0][1] = 2;
a[0][2] = 6;
//a[0][3] = 7; //列下标溢出
a[1][0] = 8;
//循环遍历
for(int i=0;i
2.3 二维数组的创建
//二维数组的创建:
public class Test3 {
public static void main(String[] args) {
//----动态赋值-----
//1.先声明再创建空间
int[][] a;
a = new int[2][3];
//2.声明的同时创建空间 (常用)
int[][] b = new int[2][3];
//3.创建空间的同时给定行长度
int[][] c = new int[2][];
c[0]=new int[]{3,5,8};
c[1]=new int[]{1,5,7};
//----静态赋值-----
//4.创建空间的同时进行赋值
int[][] d = {{1,2,5},{4,6,8}}; //二行三列的二维数组
//注意:第三种和第四种可以指定不规则的列(了解),循环遍历是一样的 例如:下面静态赋值的操作:
int[][] e = {{1,2,5},{4,6}};
for(int i=0;i
(周六周日休息,=-=,今日没啥分享的...多敲多练,不要让脑子生锈!!!)
(周六周日休息,=-=,今日没啥分享的...多敲多练,不要让脑子生锈!!!)



