为了账号安全,请及时绑定邮箱和手机立即绑定

将数组中的每个元素与其相邻元素交换

将数组中的每个元素与其相邻元素交换

千万里不及你 2023-03-31 16:48:14
我需要写一个程序。此方法将整数数组作为输入并返回数组,其中每个值与其相邻元素交换。如果数组有奇数,则不会交换最后一个元素。int[] array ={111,77,88,44,32,11,13,25,44}结果:    finalarray= 77,111,44,88,11,32,25,13,44我尝试使用嵌套的 for 循环但没有得到它public static int[] swap(int array[]) {        for (int i = 1; i < array.length; i++) {            for (int j = i; j <= i; j++) {                int temp = array[i - 1];                array[i - 1] = array[j];                array[j] = temp;            }        }        for (int k = 0; k < array.length; k++) {            System.out.print(array[k] + " ");        }        //Desired output 17,111,44,88,11,32,25,13,44        return array;    }    public static void main(String args[]) {        int[] number = { 111, 17, 88, 44, 32, 11, 13, 25, 44 };        number = swap(number);    }
查看完整描述

3 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

到目前为止你试过的代码在哪里?!


反正


for (int i = 0; i < array.length; i += 2) {

        if(i+1 >= array.length) {

            break;

        }

        int temp = array[i];

        array[i] = array[i+1];

        array[i+1] = temp;

    }


查看完整回答
反对 回复 2023-03-31
?
郎朗坤

TA贡献1921条经验 获得超9个赞

  int[] array ={111,77,88,44,32,11,13,25,44};

    int[] output = new int[array.length];


    for(int x = 0; x < array.length - 1; x += 2) {

        output[x] = array[x + 1];

        output[x+1] = array[x];

    }

    if(array.length % 2 != 0) {

        output[output.length-1] = array[array.length-1];

    }

您只需遍历数组,并用交换的值填充新数组。


查看完整回答
反对 回复 2023-03-31
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

这应该可以解决问题!


public static final <T> void swap (T[] a, int i, int j) {

T t = a[i];

a[i] = a[j];

a[j] = t;

}


public static final <T> void swap (List<T> l, int i, int j) {

Collections.<T>swap(l, i, j);

}


private void test() {

String [] a = {"Hello", "Goodbye"};

swap(a, 0, 1);

System.out.println("a:"+Arrays.toString(a));

List<String> l = new ArrayList<String>(Arrays.asList(a));

swap(l, 0, 1);

System.out.println("l:"+l);

}


查看完整回答
反对 回复 2023-03-31
  • 3 回答
  • 0 关注
  • 108 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信