气泡排序Java int[]nums={1,7,20,54,79,15,9,6,5,89}; int length=nums.length; 布尔值=真; int last=长度-1; //只要在最后一次交易中发生互换,就继续进行, //迪德是个哨兵 while(didSwap){ //假设数组已排序 didSwap=false; //查看每个过程中所有未排序的元素 对于(int i=0;i
我试图在一个数组中获得一组数字,以显示递减。然而,这就是输出的外观 降序排序后: 795420159765189 为什么最后是89?我做错了什么?更改此部分:气泡排序Java int[]nums={1,7,20,54,79,15,9,6,5,89}; int length=nums.length; 布尔值=真; int last=长度-1; //只要在最后一次交易中发生互换,就继续进行, //迪德是个哨兵 while(didSwap){ //假设数组已排序 didSwap=false; //查看每个过程中所有未排序的元素 对于(int i=0;i,java,sorting,Java,Sorting,我试图在一个数组中获得一组数字,以显示递减。然而,这就是输出的外观 降序排序后: 795420159765189 为什么最后是89?我做错了什么?更改此部分: for(int j=1;j
for(int j=1;j
到
for(int j=1;j)如果您的“for”循环使用的是“int[] nums = {1, 7, 20, 54, 79, 15, 9, 6, 5, 89};
int length = nums.length;
boolean didSwap = true;
int last = length - 1;
// continue as long as a swap happened in the last pass,
// didSwap is a sentinel
while (didSwap) {
// assume the array is sorted
didSwap = false;
// Look at all the unsorted elements per pass
for (int i = 0; i < last; ++i) {
for (int j = 1; j < last; j++) {
if (nums[j - 1] < nums[j]) {
int temp = nums[j - 1];
nums[j - 1] = nums[j];
nums[j] = temp;
}
}
}
}
return nums;