我尝试对数组进行排序但是我希望排序的数组保存在数组b中并且数组a保持未排序?我怎样才能做到这一点?
我已经尝试了Arrays.sort(a)方法并且我已经获得了这一小段代码,但是当我尝试访问时,它总是排序:\
using
答案 0 :(得分:2)
int[] a = new int[]{5,2,4,8,4,5};
int[] b = Arrays.copyOf(a, a.length);
Arrays.sort(b);
内容:
a:[5,2,4,8,4,5]
b:[2,4,4,5,5,8]
答案 1 :(得分:2)
您需要制作/lib/modules/3.16.0-34-generic/modules.dep
的深层副本,然后排序并返回该副本:
a
答案 2 :(得分:1)
问题是您没有创建新数组b
,而只是b
对a
进行了另一次引用。我会使用:
b
int[] b = Arrays.copyOf(a, a.length);
然后使用Arrays.sort(b)
生成排序的b
数组,而不会影响a
。
答案 3 :(得分:0)
声明int b [] = new int [a.length]然后复制每个元素,如:
for(int i = 0; i < a.length; ++i) {
b[i] = a[i];
}
完整代码:
public static int[] sortArray(int a[]){
int b[] = = new int[a.length]
for(int j = 0; j < a.length; ++j) {
b[j] = a[j];
}
int len=b.length;
int temp;
for(int i=0;i<len-1;i++) {
for(int j=0;j<len-1;j++){
if(b[j]>b[j+1]){
temp=b[j+1];
b[j+1]=b[j];
b[j]=temp;
}
}
}
return b;
}