首页 > 解决方案 > 较小的函数不返回任何值

问题描述

我编写了一个有效的冒泡排序程序,但我需要一个较小的子函数来调用它来切换元素。我的冒泡排序如下所示:

for(int i = N-1; i>0; i--)
        {
            for(int j = 0; j < i; j++){
                if(arr[j]<arr[j+1])
                {
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }

我当前的子功能如下所示:

 void swap2(int x,int x1)
{
    int temp;
    temp = x;
    x = x1;
    x1 = temp;    
}

当我在我的代码中使用它时,它不起作用,我必须做什么才能使 swap2 函数真正交换我的元素?

标签: c++

解决方案


如果您想在函数之外查看结果,请更改void swap2(int x,int x1)为。void swap2(int &x,int &x1)这样,您将通过引用传递参数。


推荐阅读