您的位置:首页 > 职场人生

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

2016-03-22 17:38 471 查看
面试题_抽象工厂,字符反串,冒泡与选择排序
1:写一个抽象工厂模式 java实例 ?
2,:String str="ABCDF" 把这个字符串怎么排序成“FDCBA”?

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

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;

}

来自为知笔记(Wiz)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: