1.22
今日开始服务外包杯的题目准备,准备思路,花了流程图和功能框架
学了几个小知识,毫秒单位,距离1970年
System.out.println(System.currentTimeMillis());
-----------------------------
student s=new student();
s.setAge("100");
s.setName("张三");
System.out.println(s.toString());
输出类中的信息
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
student student = (student) o;
return Objects.equals(name, student.name) && Objects.equals(age, student.age);
}
------
冒泡排序
冒泡排序算法拆分讲解及优化
java冒泡排序
一、代码的拆分讲解
从上面步骤,可以观察到每次的j都相对于前一趟进行-1操作,所以可以把这些操作套在一个for循环里来控制j即可。
二、冒泡排序的代码
优化的目的:数组有可能在中间某一过程就已经有序,无序再进行后面操作。
java冒泡排序
以3,9,-1,10,-2这组数为例,对这组数使用冒牌排序使其有序
一、代码的拆分讲解
首先创建一个数组和一个用于三角交换的变量
int arr[] = {3,9,-1,10,-2};
int temp = 0;
1
2
首先进行第一趟
//第一趟排序,就是将最大的数排在最后
for (int j = 0; j < arr.length - 1; j++) {
if (arr[j] > arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
1
2
3
4
5
6
7
8
第一趟的运行后的数组
然后第二趟
//第一趟排序,就是将最大的数排在最后
for (int j = 0; j < arr.length - 1-1; j++) {
if (arr[j] > arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
1
2
3
4
5
6
7
8
第二趟的运行后的数组
第三趟
//第一趟排序,就是将最大的数排在最后
for (int j = 0; j < arr.length - 1 -2; j++) {
if (arr[j] > arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
1
2
3
4
5
6
7
8
第三趟的运行后的数组
第四趟
//第一趟排序,就是将最大的数排在最后
for (int j = 0; j < arr.length - 1 -3; j++) {
if (arr[j] > arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
1
2
3
4
5
6
7
8
第四趟的运行后的数组
下面是四趟代码的结果汇总:
从上面步骤,可以观察到每次的j都相对于前一趟进行-1操作,所以可以把这些操作套在一个for循环里来控制j即可。
----------------

浙公网安备 33010602011771号