c++ - 较小的函数不返回任何值
问题描述
我编写了一个有效的冒泡排序程序,但我需要一个较小的子函数来调用它来切换元素。我的冒泡排序如下所示:
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 函数真正交换我的元素?
解决方案
如果您想在函数之外查看结果,请更改void swap2(int x,int x1)
为。void swap2(int &x,int &x1)
这样,您将通过引用传递参数。
推荐阅读
- css - Primeng 的 [styleClass] 带条件样式
- intellij-idea - 我在 intellij 中创建的每个 java 项目都无法运行。但我以前的工作
- python - 获取输入作为列表的 int
- swift - Swift Firebase Authentication - 关于错误处理的两个问题(我不知道如何命名这些错误)
- javascript - JS Regex 说 Number 包含一个 '.' 但没有
- c# - 我可以更改世界空间画布宽度以匹配屏幕吗?
- python-3.x - 线性模型上的完美分离
- python - 使用 Twisted 模拟 DNS 服务器
- javascript - 在新数组中对对象的值进行分组 - JavaScript
- python - 从数组的 json 列表创建字典