美文网首页
基础算法

基础算法

作者: hai_world | 来源:发表于2019-02-20 22:16 被阅读0次

冒泡排序算法。

private static int [] array1 = {10,6,15,85,60,50,56,30};

  @Test
public void demo1() {
    //Arrays.toString()输出数组中个存放的数据
    System.out.println("冒泡前的排序array1["+Arrays.toString(array1)+"]");
    for(int i =0;i<array1.length;i++) {
        for(int j = 0;j<array1.length-1;j++) {
            if(array1[j]>array1[j+1]) {
                int temp = array1[j];
                array1[j] = array1[j+1];
                array1[j+1] = temp;
            } 
        }
    }
    System.out.println("冒泡后的排序array1["+Arrays.toString(array1)+"]");
}

经典的单例模式。

public class Singleton1 {

private String name;

private static Singleton1 instance;

private Singleton1() {}

public static Singleton1 getInstance() {
    if(instance == null) {
        instance = new Singleton1();
    }
    return instance;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}
}

public class TextSingleton {
    public static void main(String[] args) {
    Singleton1 s1= Singleton1.getInstance();
    s1.setName("name1");
    System.out.println(s1.getName());
    
    Singleton1 s2= Singleton1.getInstance();
    System.out.println(s2.getName());
    System.out.println(s1==s2);
    s2.setName("name2");
    System.out.println("--------------------------");
    System.out.println(s1.getName());
    System.out.println(s2.getName());
    System.out.println(s1==s2);
}}

name1
name1
true


name2
name2
true


3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少
等同于一列数的规则如下: 1、1、2、3、5、8、13、21、34 ,求第30位数是多少?使用递归实现

public static  int aaa(int n) {
    if(n<=2) {
        return 1;
    }
    else {
        return aaa(n-1)+aaa(n-2);
    }
}
public static void main(String[] args) {
    System.out.println(aaa(3));
}             

相关文章

网友评论

      本文标题:基础算法

      本文链接:https://www.haomeiwen.com/subject/ovwkyqtx.html