給定一個數(shù)組{3敛纲,4掠兄,2像云,1}锌雀,進(jìn)行從小到大排序
- 思路:相鄰兩個數(shù)比較,循環(huán)(n-1)輪迅诬,每輪循環(huán)(n-1-i)次腋逆。
//===第一輪循環(huán)===
//3421---------------3和4比較,無需交換
//3241---------------4和2比較侈贷,4>2惩歉,交換位置
//3214---------------4和1比較,4>1铐维,交換位置柬泽,此時慎菲,已找到最大數(shù)
//===第二輪循環(huán)===
//2314---------------2和3比較嫁蛇,無需交換
//2134---------------3和1比較,3>1露该,交換位置睬棚,此時已找到第二大的數(shù)
//2134---------------3和4比較,無需比較解幼,因為上一輪已找到最大數(shù)
//===第三輪循環(huán)===此輪如上類推抑党,不寫了
//1234
//1234
//1234
- 代碼如下:
public static int[] paixu(int[] c) {
for (int i = 0; i < c.length; i++) { //控制循環(huán)多少輪
for (int j = 0; j < c.length-1-i; j++) { //控制相鄰兩個數(shù)循環(huán)多少次,-i是因為每一輪都找到了一個最大數(shù)
if (c[j]>c[j+1]) {
int tmp = c[j] ;
c[j] = c[j+1];
c[j+1] = tmp;
}
}
}
return c;
}