Tan*_*rty 2 c++ vector insertion-sort
我看到无处不在,无论我找到什么算法(如果有任何lol)在c ++中的向量上进行插入排序,它都不会工作,所以我假设它与我的代码有关.任何人都可以帮我找到一种方法,我可以将一个向量作为参数传递给一个方法,然后对它进行插入排序吗?此刻它等待几秒钟并显示未分类的所有值:(
插入排序代码
void insertionSort (vector<int> data, int n)
{
int i, j, tmp;
for (i=1; i<n; i++)
{
j=i;
tmp=data[i];
while (j>0 && tmp<data[j-1])
{
data[j]=data[j-1];
j--;
}
data[j]=tmp;
}
Run Code Online (Sandbox Code Playgroud)
代码的重要部分
cout << "insertion sort" << endl;
system("pause");
insertionSort(numberVectors, i);
Run Code Online (Sandbox Code Playgroud)
让我知道,如果你不认为那些代码有什么问题,你想让我告诉你更多,应该只是这一点,其他的东西是无关紧要的,我认为
谢谢
您的函数按值接受其参数; 这意味着它获得了一份副本.你对副本进行排序,徒劳无功.
改为将其更改为参考:
void insertionSort (vector<int>& data, int n)
Run Code Online (Sandbox Code Playgroud)