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;

        }

     





  • 相关阅读:
    代理模式以及operator>()的重载
    asp.net 2.0中gridview里嵌套dropdownlist
    .Net的编码规范
    Google GMail使用技巧
    推荐一些我经常参考的ASP.NET2.0的学习网站
    petShop 4.0 的命名空间 以及各个项目模块的说明
    超强口误
    当每次鼠标点选GRIDVIEW每行的文本框时,该行会加亮
    ASP.NET2.0中Gridview中数据操作技巧
    ASP.NET中的DataGrid控件示例
  • 原文地址:https://www.cnblogs.com/ut2016-progam/p/5307753.html
Copyright © 2011-2022 走看看