交换元素

时间:2015-04-15 01:57:38

标签: java arrays sorting

我想交换数组的元素,所以我创建了一个方法来完成它。 该方法采用整数数组和两个索引,然后交换给定索引处的元素。但是,我不知道如何处理声明的变量。我不知道这个方法是否需要循环,但我添加了它。这是代码。

public static int[] swapElement(int[] a, int i1,int i2) {
    int temp=i1;
    int swap=temp;
    for (int i=0;i<a.length;i++) {
        if (a.length>i1) {
            temp=i2;
        }
    }

    return a;
}

3 个答案:

答案 0 :(得分:4)

我无法理解你的代码应该做什么,但正确的交换应该是这样的:

public static void swapElement(final int[] a, final int i1, final int i2) {
    final int temp = a[i1];
    a[i1] = a[i2];
    a[i2] = temp;
}

当然,您可以添加边界检查或创建新数组,而不是在传递的数组中进行更改

答案 1 :(得分:0)

尝试这样的事情:

public static int[] swapElement(int[] a , int i1, int i2)
{
    int temp = a[i2];
    a[i2] = a[i1];
    a[i1] = temp;
}

答案 2 :(得分:0)

由于你需要使用方法交换数组元素,我建议你实例化一个全局数组变量。

int arr1[] = new int[length];
int arr2[] = new int[length];

public static void swapElement(final int i1, final int i2) {
{
    int temp = arr1[i1];
    arr1[i1] = arr2[i2];
    arr2[i2] = temp;
}