第四天
遇到问题解决思路:
1.将复杂问题分解为若干个简单问题
2.代码实现,如果有bug,进行debug调试
3.优化代码
冒泡排序 :
比较相邻的元素。如果第一个比第二个大,就交换它们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上步骤,除了最后一个。
持续每次对越来越少的元素重复上面步骤,知道没有任何一对数字需要比较
例如:给arr={1,2,3,45,5};排序
选择排序
第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;
第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;
以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕。
例如:给arr={1,2,3,45,5};排序
折半查找:
优点:这半查找的优点是比较次数少,查找速度快,平均性能好。
缺点:是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。
例如:在arr={1,2,3,3,4,6,6}中找到flag=6
方法:所谓方法,就是用来解决一类问题的代码有序组合,是一个功能模块。
返回值类型 方法名(参数列表){
方法体
}
static修饰的变量和方法,在jvm虚拟机载入字节码文件时,初始化
方法中的变量作用域在此方法中
形参和实参
关于局部变量的题:
结果为5,10
调用方法的两种方法:
1.public static void fun()
2.通过对象调用 Person person = new Persong(); person.get();
方法重载,要求参数的种类或者个数不同
可变参数(参数的数量是可变的)
例如:
public static void add(int ...arr){
for(int x:arr){
System.out.print(x+"\t")
}
}
return:用于结束方法
break:用于结束循环
可变参数在方法中作数组处理
可变参数传值有四种:
1.不传参
2.个到n个参数
3.传null值 (此时如果打印会出现空指针异常)
4.传数数组
数据结构和算法

被折叠的 条评论
为什么被折叠?



