C ++向量插入排序算法方法-将向量传递给方法

| 我到处看,无论我找到什么算法(如果有的话)(如果有大声笑)对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;
 }
代码的重要部分
        cout << \"insertion sort\" << endl;
        system(\"pause\");
        insertionSort(numberVectors, i);
让我知道,如果您不认为该代码有什么问题,并且您想让我向您展示更多,虽然应该有点,但我认为其他内容是无用的 谢谢
已邀请:
您的函数按值接受参数。这意味着它将获得一份副本。您对副本进行排序是徒劳的。 改为将其更改为参考:
void insertionSort (vector<int>& data, int n) 
通过引用传递数组,然后函数中的更改将反映在数组上
void insertionSort (vector<int> &data, int n) 
{
   ...
}

要回复问题请先登录注册