樓上的代碼好復(fù)雜...其實(shí)幾個(gè)循環(huán)就可以了,用不著那么多if判斷
成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括無錫網(wǎng)站建設(shè)、無錫網(wǎng)站制作、無錫網(wǎng)頁(yè)制作以及無錫網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,無錫網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到無錫省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
import java.util.ArrayList;
public final class SpecialStringSorter {
public static String[] sort(String[] list){
ArrayListString outbuilder=new ArrayListString();
if(list.length2) throw new RuntimeException();//如果list長(zhǎng)度小于2會(huì)拋出運(yùn)行時(shí)異常(你想換掉就換掉,比如說返回本身)
for(int a=2;a=list.length;a++){ //這一層循環(huán)是迭代輸出括號(hào)里的元素?cái)?shù)(a代表輸出中的[]里的元素?cái)?shù)),不斷增加
for(int b=0;b=list.length-a;b++){ //這一層循環(huán)是迭代輸出括號(hào)里的開頭數(shù)
for(int c=b+1;c=list.length-a+1;c++){//這一層循環(huán)是第二個(gè)數(shù)
StringBuilder sb=new StringBuilder("[");
sb.append(list[b]);
sb.append(","+list[c]);
for(int d=1;da-1;d++){ //這一層循環(huán)是一個(gè)[]內(nèi)容的生成循環(huán)
sb.append(","+list[c+d]);
}
sb.append("]");
outbuilder.add(sb.toString());
}
}
}
String[] result=new String[outbuilder.size()];
int i=0;
for(Object resultBuilder:outbuilder){
result[i]=(String)resultBuilder;
i++;
}
return result;
}
public static void main(String[] args){
String[] test={
"1","2","3","4"
};
String[] sortResult=sort(test);
for(String out:sortResult){
System.out.print(out);
}
}
}
public?static?void?main(String[]?args)?{
int?k;
System.out.print("請(qǐng)輸入第一個(gè)數(shù):");
Scanner?str1?=?new?Scanner(System.in);
int?max?=?Integer.parseInt(str1.next());
System.out.print("請(qǐng)輸入第二個(gè)數(shù):");
Scanner?str2?=?new?Scanner(System.in);
int?min?=?Integer.parseInt(str2.next());
if(max??min?){
k=max;
max=?min;
min?=?k;
}
System.out.print("請(qǐng)輸入第三個(gè)數(shù):");
Scanner?str3?=?new?Scanner(System.in);
int?mid?=?Integer.parseInt(str3.next());
if(midmax){
k=max;
max=?mid;
mid?=?k;
}else?if(midmin){
k=mid;
mid=?min;
min?=?k;
}
System.out.println("max:"+max+",mid:"+mid+",min:"+min);
}
冒泡排序
public static void main(String[] args) {
int [] num=new int[3];
num[0]=23;
num[1]=45;
num[2]=22;
System.out.println("數(shù)組排序前為");
for(int i=0;inum.length;i++){
System.out.print (num[i]+" ");
}
int temp;
for(int i=0;inum.length;i++){
for(int j=0;jnum.length-i-1;++j){
if(num[j]num[j+1]){
temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}
System.out.println("\n輸出數(shù)組升序后為");
for(int i=0;inum.length;i++){
System.out.print(num[i]+" ");
}
}
可以實(shí)現(xiàn)比較器Comparator來定制排序方案,同時(shí)使用Colletions.sort的方式進(jìn)行排序,代碼如下:
public void sortDesc(ListLong s){
Collections.sort(s, new ComparatorLong() {
public int compare(Long o1, Long o2) {
Long result = o2 - o1;
return result.intValue();
}
});
s.forEach(item-{
System.out.print(item +" ");
});
}
同時(shí)常用的比較排序算法主要有:冒泡排序,選擇排序,插入排序,歸并排序,堆排序,快速排序等。
java的冒泡排序?qū)崿F(xiàn)如下:
public?static?void?bubbleSort(int?[]arr)?{????????for(int?i?=0;iarr.length-1;i++)?{????????????for(int?j=0;jarr.length-i-1;j++)?{//-1為了防止溢出????????????????if(arr[j]arr[j+1])?{????????????????????int?temp?=?arr[j];?????????????????????????????????????????arr[j]=arr[j+1];?????????????????????????????????????????arr[j+1]=temp;????????????}????????????}????????????}????}
還有非比較排序,時(shí)間復(fù)雜度可以達(dá)到O(n),主要有:計(jì)數(shù)排序,基數(shù)排序,桶排序等。
網(wǎng)站標(biāo)題:java排列三代碼 用java對(duì)三個(gè)數(shù)排序
文章鏈接:http://www.chinadenli.net/article0/doogcoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、定制開發(fā)、網(wǎng)站導(dǎo)航、面包屑導(dǎo)航、商城網(wǎng)站、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)