交换数组中的位置
Swapping positions in an array
如何在c++中交换列表中两个元素的位置(使用数组)
使用数组。这是我应该完成这个任务的功能。我给数组中的不同元素赋了一个名字。这里的变量已经定义过了。
while (i <= 5)
{
if (arr[i] == name1){
arr[i] = x;
x = tempName;
y = x;
x = y;
cout << y << x << endl;
}
if (arr[i]== name2){
arr[i] = y;
y = tempName;
x = y;
y = x;
cout << y << x << endl;
}
i = i + 1;
}
if (arr[i] != name1 || arr[i] != name2)
{
cout << "You have to pick a name from the line up" << endl;
}
根据你的问题的标题,这里是如何交换数组的元素:
temporary_element = array[i];
array[i] = array[j];
array[j] = temporary_element;
我没有指定数据类型,因为它们不在你发布的问题。
我想你会想搜索,然后交换这些元素。如果您经常这样做,请尝试使用std::set<>或std::map<>容器。用于在数组中搜索,然后在这里交换它们是一个简单的代码:
int i = 0;
while (i < N && (name1 != arr[i] || name2 != arr[i]))
++i;
int id1 = i;
while (i < N && (name1 != arr[i] || name2 != arr[i]) && arr[id1] != arr[i])
++i;
int id2 = i;
if (id2 < N)
{
auto tmp = arr[id1];
arr[id1] = arr[id2];
arr[id2] = tmp;
}
相关文章:
- 我的目标是编写一个程序来计算和存储字符串在字符数组中出现的位置
- 如何在数组中交换最小和最大的位置?
- C++ 2D 数组写入多个位置
- C++指针数组到字符数组中的特定位置
- 递增 'int i = 0' 以在初始化的字符数组的位置递增
- 数组中所有元素的最新最小元素的第五个位置
- 关于引用数组位置的问题
- 在给定元素在螺旋上的位置的情况下,在二维数组中查找元素
- 创建 2D 数组0xCCCCCCCC访问冲突写入位置
- 如何计算 3d 数组中的索引值在内存中的位置?如何计算字符**中的索引值在内存中的位置?
- 如何在 3x4 数组中随机 4 个不同的位置
- C++不同内存位置中的默认数组值
- 使用动态数组访问冲突写入位置
- C++访问冲突读取位置0xDDDDDDCD当我尝试删除已更新的数组时
- C++将可变数量的位置从给定数组传递到函数
- 在不同位置渲染相同精灵的数组
- 有没有办法汇总数组的位位置
- 如何查找数组中所有重复元素的位置
- 在给定的整数数组中,可以找到在给定位置之间分类数组的整数之和
- C++ 在不同位置具有不同数据类型的多维数组