gpt4 book ai didi

C++ vector 插入排序算法方法——将 vector 传给方法

转载 作者:太空狗 更新时间:2023-10-29 23:47:26 25 4
gpt4 key购买 nike

我到处查看,无论我找到什么算法(如果有的话,哈哈)在 C++ 中对 vector 进行插入排序,它都行不通,所以我假设它与我的代码有关。谁能帮我找到一种方法,我可以将 vector 作为参数传递给方法,然后对其进行插入排序?目前它等待几秒钟并显示所有未排序的值:(

插入排序代码

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) 

关于C++ vector 插入排序算法方法——将 vector 传给方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5709637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com