当前位置:才华屋 > 职场生活百科 > 面试 > 一道面试题:对一个数组进行排序,要求第一个最大、第二个最小
手机版

一道面试题:对一个数组进行排序,要求第一个最大、第二个最小

来源:才华屋 阅读:2.92W 次

package test;
import ys;
import edList;
import ections;
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; t(a[i]+"t") ;
}
tln();
(a) ;//对数组进行排序
for(int i=0; t(a[i]+"t") ;
}
tln();
for(int i=th-1; i>=0; i--){
t(a[i]+"t") ;
}
tln();
l_sort2(a);
for(int i=0; t(a[i]+"t") ;
}
tln();
l_sort(a);
for(int i=0; t(a[i]+"t") ;
}
tln();
String bitData ="1111010101010010101" ;
formatInt(bitData);
}
public static void l_sort(int a[]){//对排序好的数组进行两边弹出
(a) ;
LinkedList b = new LinkedList();
for(int i=0; (a[i]) ;
}
boolean flag = true ;
for(int i=0 ;iif(flag){
a[i] = (Integer)veLast() ;
}else{
a[i] = (Integer)veFirst() ;
}
flag = !flag ;
}
}
public static void l_sort2(int a[]){//用的另一种方法实现
boolean flag = true ;
for(int i=0 ;iif(flag){
for(int j=th-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=th-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 ;iintData = intData + eOf(tring(i,i+1))*(2, th()-i-1);
}
tln(eOf(intData)tring(0,(eOf(intData)th()-2)));
}
}

本文链接:https://www.caihuawu.com/zcsh/mianshi/x4ry6z.html

Copyright © 2024. 才华屋 All right reserved. 黑ICP备20014756号-2

文字美图素材,版权属于原作者。部分文章内容由网友提供推送时因种种原因未能与原作者联系上,若涉及版权问题,敬请原作者联系我们,立即处理。