java选中一格_java-选中排序(新手)
//排序 選擇排序 數組中每個元素都進行比較
public class Test {
//公共靜態的主方法。
public static void main(String[] args) {
//創建一個數組。
int[] arr = {12,69,852,25,89,588};
// ?下標為 ?0 ? ?1 ? 2 ? ?3 ? 4 ? 5
//排序。
selectS(arr);
//遍歷。
printS(arr);
}
//調用排序的方法,對數組進行排序。
public static void selectS(int[] arr){
//創建for循環。
for(int i=0;i
//嵌套for循環。
for(int j =i+1;j
if(arr[i]>arr[j]){
int tmp=arr[i];
arr[i]=arr[j];
arr[j]=tmp;
}
}
}
}
//遍歷打印。
public static void printS(int[] arr){
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
============分割線===========
ex:
int[] arr = {12,69,852,25,89,588};
12 69
12 ? ?852
12 ? ? ? ? ?25
12 ? ? ? ? ? ? ? 89
12 ? ? ? ? ? ? ? ? ? 588
69 852 25
25 ? ? ? ? ? ?89
25 ? ? ? ? ? ? ? ? 588
852 ?69
69 ?89
69 ? ? ? 588
852 ?89
852 588
結果就是: 12 25 69 89 588 852
在第一個for循環里,i=0,意思即為下標為零的數組內的數值。
j = i+j,意思即為0+1,也就是下標為一的數組內的數值。
如果說下標為零的數大于下標為一的數,就運行下面排序的代碼。但是如果
不大于,那么就不循環,在這個基礎上再加1,繼續做比較,意思就是
這個i=0,如果說j的循環不結束,那么,就一直是零。
只有在j的循環結束之后,i也就是第一個下標才會更改成1,以此下推。
當下標為零的數值和數組內的所有數值都比較完之后,那么就是i更變的時候
之所以在for循環里加入了一個新值:int temp、是方便數值的互換。
ex:
int tmp=arr[i];
arr[i]=arr[j];
arr[j]=tmp;
打個比方說,你有兩只手,每個手都拿了一個杯子,這兩個杯子都是滿的,但是
你想把左手杯的水倒在右手杯子里,這個時候,這個新值,就相當于別人遞過來
一只手,手里拿了一個空杯子,這樣你是不是就可以對兩個杯子里的水進行互換
了?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的java选中一格_java-选中排序(新手)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java实现责任链模式_我的Java设计
- 下一篇: java 广义表_数据结构:广义表的实现