for(int i=0;i<arr.length;i++) {
for(int j=i;j<arr.length;j++) {
if(arr[i]>=arr[j]) {
t=arr[i];
arr[i]=arr[j];
arr[j]=t;
}
问题描述:
我想问一下,这种排序方法,是什么排序来着,看的有点懵了
登陆购买课程后可参与讨论,去登陆吧
同学你好,同学提供的代码是选择排序的写法,但是j的初始化语句应当是“int j = i +1”。
祝学习愉快~
package
com.imooc.array;
public
class
ArrayDemo3 {
static
void
main(String[] args) {
//冒泡排序
int
[] arr= {
1
,
5
3
6
9
4
2
};
System.out.print(
"排序前的顺序:"
);
for
(
n:arr) {
System.out.print(n+
" "
t=
0
;
i=
;i<arr.length;i++) {
j=i;j<arr.length;j++) {
if
(arr[i]>=arr[j]) {
// for(int i=0;i<arr.length-i;i++) {
// for(int j=0;j<arr.length-i-1;j++) {
// if(arr[j]>=arr[j+1]) {
// t=arr[j];
// arr[j]=arr[j+1];
// arr[j+1]=t;
// }
System.out.println();
"排序后的顺序:"
我这个也可以运行
就是不知道这个是什么排序
同学你好,同学提供的是选择排序的代码。有一个简单的区分方式:
冒泡排序在内层循环对比的是a[j]和a[j+1]之间的大小,而选择排序在内层循环对比的是a[j]和a[i]之间的大小,两者在对比时使用的下标是不一样的。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
79 1
56 1
10 1
14 1
56 9
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧