пузырьковая сортировка трехмерного массива в переполнении стека

Я хочу использовать пузырьковую сортировку для внешнего файла данных, пока выглядит так.

00000002

45

56

32

46

00000001

87

95

83

100

поэтому все данные, которые находятся под 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;
}
}
}
}

0

Решение

Какой бы алгоритм сортировки вы не использовали, вы должны использовать указатели на первую и последнюю позицию. В этом случае вы можете отсортировать элементы 1-4, а затем выполнить сортировку по элементам 6-10.

0

Другие решения

Эта функция предназначена для сортировки пузырьков для трехмерного массива в порядке возрастания.

Если вы хотите устроить в descending order так что просто поменяй > вместо <

Если вы хотите изменить размер массива, вы бы изменили размер цикла.

#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.
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector