20 баллов. Кто шарит в с++? Как отсортировать двумерный массив как нибудь пооптимальней?...

0 голосов
59 просмотров

20 баллов. Кто шарит в с++? Как отсортировать двумерный массив как нибудь пооптимальней? Буду очень благодарен.


Информатика (432 баллов) | 59 просмотров
0

Универсального способа нет, для любой сортировки можно найти вариант набора данных, для которых время выполнения и кол-во операций будут больше, чем у какой-нибудь другой.

0

Чтобы подобрать сортировку, надо знать, что именно сортируется, по какому принципу, количество сортируемых данных, и т.д.

Дан 1 ответ
0 голосов

#include

 

using namespace std;

 

int main()

{

   int *arr; // указатель для выделения памяти под массив

   int size; // размер массива

   

   // Ввод количества элементов массива

   cout

   cin >> size;

 

   if (size

       // Размер масива должен быть положитлеьным

       cerr

       return 1;

   }

 

   arr = new int[size]; // выделение памяти под массив

 

   // заполнение массива

   for (int i = 0; i < size; i++) {

       cout

       cin >> arr[i];

   }

 

   int temp; // временная переменная для обмена элементов местами

 

   // Сортировка массива пузырьком

   for (int i = 0; i < size - 1; i++) {

       for (int j = 0; j < size - i - 1; j++) {

           if (arr[j] > arr[j + 1]) {

               // меняем элементы местами

               temp = arr[j];

               arr[j] = arr[j + 1];

               arr[j + 1] = temp;

           }

       }

   }

 

   // Вывод отсортированного массива на экран

   for (int i = 0; i < size; i++) {

       cout

   }

   cout

 

   delete [] arr; // освобождение памяти;

   

   return 0;

}

(47 баллов)