- 相关推荐
一道面试题:对一个数组进行排序,要求第一个最大、第二个最小
package test;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Collections;
public class TestSort {
/**
* @param args
*/
static int a[] = {12 ,24 ,32, 28,25 ,60 ,48, 9, 15} ;
public static void main(String[] args) {
for(int i=0; i
}
System.out.println();
Arrays.sort(a) ;//对数组进行排序
for(int i=0; i
}
System.out.println();
for(int i=a.length-1; i>=0; i--){
System.out.print(a[i]+"\t") ;
}
System.out.println();
l_sort2(a);
for(int i=0; i
}
System.out.println();
l_sort(a);
for(int i=0; i
}
System.out.println();
String bitData ="1111010101010010101" ;
formatInt(bitData);
}
public static void l_sort(int a[]){//对排序好的数组进行两边弹出
Arrays.sort(a) ;
LinkedList b = new LinkedList();
for(int i=0; i
}
boolean flag = true ;
for(int i=0 ;i
a[i] = (Integer)b.removeLast() ;
}else{
a[i] = (Integer)b.removeFirst() ;
}
flag = !flag ;
}
}
public static void l_sort2(int a[]){//用的另一种方法实现
boolean flag = true ;
for(int i=0 ;i
for(int j=a.length-1 ;j>i ;j--){
if(a[j]>a[j-1]){
int team = a[j] ;
a[j] = a[j-1] ;
a[j-1] =team ;
}
}
}else{
for(int j=a.length-1 ;j>i ;j--){
if(a[j]<=a[j-1]){
int team = a[j] ;
a[j] = a[j-1] ;
a[j-1] =team ;
}
}
}
flag = !flag ;
}
}
下面的方法是我额外做的一个0、1字符转换成十进制
//二进制数转换成十进制数
public static void formatInt(String bitData){
double intData = 0 ;
for(int i=0 ;i
}
System.out.println(String.valueOf(intData).substring(0,(String.valueOf(intData).length()-2)));
}
}
【一道面试题:对一个数组进行排序,要求第一个最大、第二个最小】相关文章:
一道腾讯的面试题07-09
一道Java面试题,题目如下07-11
一道很不错的人力资源面试题07-11
第一个情人节文案02-01
一个非常经典的经理面试题07-11
为什么京东商城上的产品列表可以「按照评论数」进行排序07-11
开学第一个星期作文(精选5篇)03-22
开学第一个月的总结02-24
对百度、腾讯、阿里巴巴三家公司进行排序07-10
年会第一个节目串词(精选7篇)01-27