🔎思路
- 依次比较相邻两元素,把最大(小)元素放置在尾部
- 再次比较时不用去考虑尾部元素
🔎代码
public void sort(int[] nums) {
if(nums == null || nums.length < 2) return;
int n = nums.length;
for (int i = n - 1; i >= 0; i--) {//每次排序最后位置元素一定是最大值
for (int j = 1; j <= i; j++) {
if(nums[j - 1] > nums[j])
swap(nums,j - 1,j);
}
}
}
private void swap(int[] nums,int left,int right) {
int tmp = nums[left];
nums[left] = nums[right];
nums[right] = tmp;
}
🔎演示
🔎结尾
- 欢迎各位点赞留言
- 如果有不懂可以在评论区探讨或者私信,希望和大家一起进步