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


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

    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;

        }

     





  • 相关阅读:
    python处理url中的中文编码,以及其他编码问题
    深度学习与神经网络
    Windows下为64位的python3.4.3安装numpy
    TOP 10开源的推荐系统简介
    遗传算法
    java调用c++生成的动态和静态库时遇到的问题
    java程序(一)----HashMap同时获取键值
    Deep Learning In NLP 神经网络与词向量
    word2vec使用说明
    Spring入门_02_属性注入
  • 原文地址:https://www.cnblogs.com/ut2016-progam/p/5307753.html
Copyright © 2020-2023  润新知