冒泡排序
概念
:相邻两个元素进行比较,互换位置。
代码
:
int[] a
= {3,6,4,2,11,10,5};
for(int j
= 0; j
<a
.length
- 1; j
++){
for(int i
= 0; i
<a
.length
-1-j
; i
++){
if(a
[i
] > a
[i
+1]){
int temp
= a
[i
];
a
[i
] = a
[i
+1];
a
[i
+1] = temp
;
}
}
}
选择排序
概念
:固定值和其他值依次比较,交换位置。
代码
:
int[] a
= {4,6,32,5,12,2,15,28,9,10};
for(int j
= 0; j
<a
.length
-1; j
++){
for(int i
= j
; i
<a
.length
-1; i
++){
if(a
[j
] > a
[i
+1]){
int temp
= a
[j
];
a
[j
] = a
[i
+1];
a
[i
+1] = temp
;
}
}
}
快速排序
语法
:java
.util
.Arrays
.sort(数组名
);
代码
:
int[] a
= {3,4,5,2,1};
java
.util
.Arrays
.sort(a
);
可变长参数
概念
:可以接收多个同类型的实参,个数不限,使用方式和数组一致。
语法
:数据类型
... 形参名
注意
:可变长参数必须在最后一个形参
举例
:
public static void add4(int a
, int... b
){}
public static void add4(int... b
, int a
){}
public static void main(String
[] args
){
int a
= 10;
int b
= 20;
add(a
,b
);
add2(10,20,30);
add3(10);
add3(10,20);
}
public static void add(int c
, int d
){
System
.out
.println(c
+ d
);
}
public static void add2(int c
, int d
,int e
){
System
.out
.println(c
+ d
+ e
);
}
public static void add3(int... array
){
int sum
;
for(int i
= 0; i
<array
.length
; i
++){
sum
+= array
[i
];
}
System
.out
.println(sum
);
}
二维数组
概念
:一维数组中的每一个元素还是一个一维数组。
(了解
)
二维数组的创建
:
方式
1:先声明,再分配空间
语法
:数据类型
[][] 数组名
;
数组名
= new 数据类型
[行
][列
];
举例
:int[][] a
;
a
= new int[3][2];
方式
2:声明并分配空间
(掌握
)
语法
:数据类型
[][] 数组名
= new 数据类型
[行
][列
];
举例
:int[][] b
= new int[3][4];
方式
3:声明并赋值
(麻烦
)(了解
)
语法:数据类型
[][] 数组名
= new 数据类型
[行
][];
数组名
[行
] = new 数据类型
[列
];
举例
:int[][] c
= new int[2][];
c
[0] = new int[5];
c
[1] = new int[3];
方式
4:声明并赋值
(简单
)(掌握
)
语法:数据类型
[][] 数组名
= { {值
1...}, {值
1...}, {值
1...} };
举例
:int[][] d
= { {1,2,3},{1,1,1,1,1,1},{2,4} };
二维数组遍历
int[][] array
= new int[3][4];
for(int j
= 0; j
<array
.length
; j
++){
for(int i
= 0; i
<array
[j
].length
; i
++){
System
.out
.print(array
[j
][i
] + "\t");
}
System
.out
.println();
}
转载请注明原文地址: https://mac.8miu.com/read-486323.html