相邻两数比大小,前一个比后一个数大就交换,小则第二位与第三位依次比较,一直比较到最后一对。
例如:
第一轮三次: 13 9 12 3 20;
第一对比较交换: 9 13 12 3 20;
第二对比较交换: 9 12 13 3 20;
第三对比较交换: 9 12 3 13 20;
第二轮三次:9 12 3 13 20;
第一对:前比后小不用比较交换;
第二对:9 3 12 13 20;
第三对第四对 :前比后小不用比较交换;
第三轮两次:9 3 12 13 20;
第一对:3 9 12 13 20(最终结果);
代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int [] nums ={13,9,12,3,20};
for(int i=0;i<nums.length-1;i++){
for(int j=0;j<nums.length-1-i;j++){
if(nums[j]>nums[j+1]){
nums[j]=nums[j]+nums[j+1];
nums[j+1]=nums[j]-nums[j+1];
nums[j]=nums[j]-nums[j+1];
}
}
}
for(int n : nums) {
System.out.print(n+"\t");
}
}
}
挺简单的感谢阅读,通俗易懂!