如何解决这个 BubbleSort 排序数组是从最小到最大还是从最大到最小?
问题是,如果这个代码从min到max或从max到min排序数组,因为我想不通。
这只是伪代码。
'a' 是 整数
的数组for (int i = n; i>=2; i--) {
for (int j = 2; j>=i; j++) {
if (a[j-1] > a[j]) { swap( a[j-1],a[j] ); }
}
}
当我尝试替换掉交换并使用此代码运行它时:
int temp = a[j-1];
a[j-1] = a[j];
a[j] = a[j-1];
我收到索引超出范围的错误。
感谢您回答我的问题或给出解释。
编辑:
这个问题是在考试中,所以这就是我要求解释的原因。此代码不起作用!
解决方法
在这行代码中,第 2 行产生了问题。 j >=i 和 j++ 将继续增加,此 for 循环没有绑定,并且数组在显示此错误后具有有限的有限值集。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。