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即可。


----------------
posted @ 2024-01-22 11:50  想不起来好名字  阅读(11)  评论(0)    收藏  举报