• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

冒泡法输出结果没有变化

package com.tianmg;


public class test111 {
        public static void main(String[] args) {
                int[] arr = { 24, 69, 80, 57, 13 };
                for (int i = 0; i < arr.length - 1; i++) {
                        for (int j = 0; j < arr.length - 1 - i; j++) {
                                swap(arr[j], arr[j + 1]);
                        }
                        }
                }


        }


        public static void swap(int a, int b) {
                if (a > b) {
                        int temp;
                        temp = a;
                        a = b;
                        b = temp;
                }


        }


}

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与4

int[]arr={24,9,0,1,5,35,92,6,9,3};
                for (int i = 0; i < arr.length-1; i++) {
                        for (int j = 0; j < arr.length-1-i; j++) {
                                if(arr[j]>arr[j+1]){
                                        int temp=arr[j];
                                        arr[j]=arr[j+1];
                                        arr[j+1]=temp;
                                }
                        }
                }
                for (int i = 0; i < arr.length; i++) {
                        System.out.println(arr+"\t");
}

使用道具 举报

写了数据结构中的冒泡排序的算法,应该是C语言版的。
int []array=new int;
int temp=0;

for(int i=0;i

使用道具 举报

public static void swap(int a, int b) {
if (a > b) {
int temp;
temp = a;
a = b;
b = temp;
}
JAVA中虽然没有指针,但是还是有形参和实参的区别,当你调用这个方法的时候,相当于a=arr[j],b=arr[j+1],实际上你这段代码交换的是a和b,而你的arr[j]和arr[j+1]是没有交换的,你最好
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
swap(arr[j], arr[j + 1]);//改成if (arr[j] > arr[j+1]) {
                        int temp;
                         temp = arr[j];
                          arr[j] = arr[j+1];
                         arr[j+1] = temp;
}
}
}

使用道具 举报

基础数据类型作为参数都是值传递,不会改变传入的参数本身的值
你这里把swap方法写成
publicstaticvoidswap(int[]arr,inti,intj)这样的形式,传入数组本身和两个下标,这样交换数据才会影响main方法里的数组变量

使用道具 举报

发新帖

发布任务需求已有1031283位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!