C++ 对c+中的3d数组进行气泡排序+;
我想对外部数据文件使用冒泡排序,就像这样 00000002 45 56 三十二 46 00000001 87 九十五 八十三 一百 因此,00000001以下的所有数据都显示在00000002之前。我猜为了做到这一点,我需要使用3d阵列。是否有一种方法可以将00000001下的所有数据存储在一个变量下,并使用简单的冒泡排序方法对其进行排序。如果可以做到这一点,那么我可以用这样的方法来排序C++ 对c+中的3d数组进行气泡排序+;,c++,arrays,bubble-sort,multidimensional-array,C++,Arrays,Bubble Sort,Multidimensional Array,我想对外部数据文件使用冒泡排序,就像这样 00000002 45 56 三十二 46 00000001 87 九十五 八十三 一百 因此,00000001以下的所有数据都显示在00000002之前。我猜为了做到这一点,我需要使用3d阵列。是否有一种方法可以将00000001下的所有数据存储在一个变量下,并使用简单的冒泡排序方法对其进行排序。如果可以做到这一点,那么我可以用这样的方法来排序 void displayArray(int sArray[2]) { int i = 0;
void displayArray(int sArray[2])
{
int i = 0;
while(i<2)
{
cout << sArray[i];
cout << "\n";
i++;
}
}
void sortArray(int sArray[2])
{
int temp = 0;
bool sorted = false;
while(sorted == false)
{
sorted = true;
for(int i=0; i<1;i++)
{
if(sArray[i]>sArray[i+1])
{
temp = sArray[i];
sArray[i] = sArray[i+1];
sArray[i+1] = temp;
sorted = false;
}
}
}
}
void显示数组(int-sArray[2])
{
int i=0;
(i无论您使用什么排序算法,都应该使用指向第一个和最后一个位置的指针。在这种情况下,您可以对项目1-4进行排序,然后对项目6-10进行排序。此函数用于按升序对三维阵列进行气泡排序
如果你想按降序排列,那么只需更改
而不是嗯,你的数组只有两个元素,这没有意义,为什么你需要一个三维数组呢?听起来你有一些数字,想要对它们进行排序。一个维度就足够了..?我正在尝试获取使用冒泡排序将底部的5个值放在顶部。一种方法是将所有数字放入一个(普通,1D)数组中,对其进行排序,然后选择前五个元素。哦,我明白了。这很有意义。因此我只需要使用1D数组并对数组[5]进行排序数组[0]然后只选择其余的值。请对您的答案提供一些相关的解释。此函数用于按升序对3D数组进行气泡排序。如果您想按降序排列,请更改“>”而不是“
#include <iostream>
using namespace std;
int sorting(int array[2][2][5]){
int temp;
for (int i = 0 ; i < 2 ; i++ )
for (int j = 0 ; j < 2; j++ )
for (int k = 0 ; k < 5 ; k++ )
for (int a = 0 ; a < 2 ; a++ )
for (int b = 0 ; b < 2 ; b++ )
for (int c = 0 ; c < 5 ; c++ )
if (array[i][j][k] < array[a][b][c]){
temp = array[i][j][k];
array[i][j][k] = array[a][b][c];
array[a][b][c] = temp;}
for (int i = 0 ; i < 2 ; i++ )
for (int j = 0 ; j < 2 ; j++ )
for (int k = 0 ; k < 5 ; k++ ){
cout << array[i][j][k] << endl;
}
return 0;
}
int main(){
int array1[2][2][5] = {{{45,23,67,1,-12},{34,43,234,567,576}},
{{345,345,76,87,2},{456,789,890,32,4}}};
sorting(array1);
}
////This is example of bubble sorting of 3D array.