zoukankan      html  css  js  c++  java
  • 面试题_抽象工厂,字符反串,冒泡与选择排序

    面试题_抽象工厂,字符反串,冒泡与选择排序

    1:写一个抽象工厂模式 java实例 ?
    2,String str="ABCDF" 把这个字符串怎么排序成“FDCBA”

    3:写一个冒泡排序把这个数组排一下“1,9,3,4,7,2,85,”

     

    1

    public interface Work{

    void doWork();

    }

     CreateProduct:

    public class Studentwork implements Work{

    public void doWork() {
            System.out.println("学生做作业!");
        }

    }

    public class TeacherWork implements Work {

        public void doWork() {
            System.out.println("老师审批作业!");
        }

    }

     

    生产者
    public interface IWorkFactory {

        Work getWork();
    }

     

    Create factory

    public class StudentWorkFactory implements IWorkFactory {

        public Work getWork() {
            return new StudentWork();
        }

    }
    public class TeacherWorkFactory implements IWorkFactory {

        public Work getWork() {
            return new TeacherWork();
        }

    }

     

    Test

    public class Test {

        public static void main(String[] args) {
            IWorkFactory studentWorkFactory = new StudentWorkFactory();
            studentWorkFactory.getWork().doWork();
            
            IWorkFactory teacherWorkFactory = new TeacherWorkFactory();
            teacherWorkFactory.getWork().doWork();
        }

    }

     

    2)字符串反转如下:

    public String getReverseStr(String str)

    {

        String reverseStr = "";

        if (null != str && !str.equals(""))

        {

            for (int i = 1 ; i < =str.length(); i++){

                  reverseStr += str.charAt(str.length() - i);

                  // 依次按与原字符串相反的顺序拼装字符串,内部会自动进行类型转换

                  //str.length() - i刚好是str的下标,因为i是从1开始

            }

       }

        return reverseStr;

    }

     

    3)冒泡排序,从小到大
    public int[] sortArr(int[] targetArr){

               //小到大的排序
                int temp = 0;
                for(int i = 0;i<targetArr.length;i++){
                    for(int j = i;j<targetArr.length;j++){
                        if(targetArr[i]>targetArr[j]){
                            temp = targetArr[i];
                            targetArr[i] = targetArr[j];
                            targetArr[j] = temp;
                           }
                     }
                }

              return targetArr;

    }

     

    3)选择排序,从小到大

    private static int[] selection_sort(int[] unsorted)

        {

            for (int i = 0; i < unsorted.length; i++)

            {

                int min = unsorted[i], min_index = i;

                for (int j = i; j < unsorted.length; j++)

                {

                    if (unsorted[j] < min)

                    {

                        min = unsorted[j];

                        min_index = j;

                    }

                }

                if (min_index != i)

                {

                    int temp = unsorted[i];

                    unsorted[i] = unsorted[min_index];

                    unsorted[min_index] = temp;

                }

            }

            return unsorted;

        }

     





  • 相关阅读:
    FastDFS 集群 安装 配置
    springboot 集成fastDfs
    分布式文件系统FastDFS详解
    上传下载
    Spring Boot:上传文件大小超限制如何捕获 MaxUploadSizeExceededException 异常
    MySQL报错解决方案:2013-Lost connection to MySQL server
    JWT与Session比较和作用
    html跑马灯/走马灯效果
    后端排序,debug模式中map的顺序出错
    js调用后台接口进行下载
  • 原文地址:https://www.cnblogs.com/ut2016-progam/p/5307753.html
Copyright © 2011-2022 走看看