- 相關推薦
一道面試題:對一個數組進行排序,要求第一個最大、第二個最小
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