*更新:已解决做了一个深拷贝,感谢帮助
我正在使用整数向量来模拟一些排序算法,当我将数字插入测试向量并打乱顺序并将其传递给排序函数时,如果我将 void 排序函数传递给相同的向量,则当向量被排序时先前传递新排序向量的函数被传递给它后面的函数,因为它已经排序我无法显示排序过程。例如在我的以下代码中
@SuppressWarnings("unchecked") // Removes error given at when adding elems to int_vec
public static void CreateVec (int array_len)
{
Vector <Integer> int_vec = new Vector(array_len);
int temp_int = 1;
int low_bound = 0;
int high_bound = array_len - 1;
for(int i = 0; i<array_len; i++)
{
int_vec.addElement(temp_int);// creating a vec in respect to array len
temp_int ++;
}
Collections.shuffle(int_vec);
System.out.println("OG vec: " + int_vec); //original vector (random order)
BubbleSort(int_vec,array_len); //sending int_vec to bubble sort
InsertionSort(int_vec,array_len); // retrieves newly sorted vector sorted from BubbleSort (problem)
}
所以我的问题是,我怎样才能继续发送我的测试向量(int_vec)和随机排序的元素,而不是继续将排序的向量发送到其他算法。请注意,我正确实现了这些算法,如果我注释掉对其他算法函数的函数调用,它就可以工作。