Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 对c+中的3d数组进行气泡排序+;_C++_Arrays_Bubble Sort_Multidimensional Array - Fatal编程技术网

C++ 对c+中的3d数组进行气泡排序+;

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;

我想对外部数据文件使用冒泡排序,就像这样

00000002

45

56

三十二

46

00000001

87

九十五

八十三

一百

因此,00000001以下的所有数据都显示在00000002之前。我猜为了做到这一点,我需要使用3d阵列。是否有一种方法可以将00000001下的所有数据存储在一个变量下,并使用简单的冒泡排序方法对其进行排序。如果可以做到这一点,那么我可以用这样的方法来排序

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.