设计原则:
1.开闭原则:对扩展开放,对修改关闭,主要extends
2.里氏代换原则:任何父类课出现的地方,子类都可出现,多用继承和多态理念
3.依赖倒转原则:尽量多用抽象类或接口,不是具体实现类,
4.接口隔离原则:尽量依赖小借口,而不是大接口
5.迪米特法则(最少知道原则):一个实体应当少与其他类发生关联
6.合成复用原则:就是例如 A类中的a需要在B类中可用,申明a在B,并且用构造传入它的引用;
线性和折半查找:
package day24PaiXuSuanFa;
//线性查找(顺序)
//从指定数组中查找参数指定的元素并返回下标;
public class ChaZaoSuanFa {
//1.顺序查找(线性查找):
public static int find(int[]arr, int num){
for(int i=0;i<arr.length;i++){
if(num==arr[i]){
return i;
}
}
return -1; //查找失败
}
// 2. 二分查找法:
public static int findtwo(int[]arr,int left,int right,int tt) {
if (left<=right) {
int z = (left + right)/2;
if (arr[z] == tt) {
return z;
}
if (arr[z] > tt) {
return findtwo(arr, left, z - 1, tt);
}else {
return findtwo(arr, z + 1, right, tt);
}
}
return -1;
}
public static void main(String[] args) {
int []brr ={10,23,44,22,341,12,3,2,0};
int []crr = {11,22,33,44,55,66,68,77};
int a=2;
int b=68;
//2.二分代码:
int two = findtwo(crr,0,7,b);
System.out.println("二分查找到的位置是:"+two);
// 1.小马编写于main上
int t= ChaZaoSuanFa.find(brr,a);
System.out.println("线性查找的位置:"+t);
/* 1. 自己编于main中
for(int i=0;i<brr.length;i++){
if(a==brr[i]){
System.out.println("写在main方法里的获取位置:"+i);
break;
}
}*/
}
}