Предмет: Информатика, автор: YarikOlimpiadnik

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


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

Ответы

Автор ответа: superstar222
1

#include <iostream>

 

using namespace std;

 

int main()

{

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

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

   

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

   cout << "n = ";

   cin >> size;

 

   if (size <= 0) {

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

       cerr << "Invalid size" << endl;

       return 1;

   }

 

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

 

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

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

       cout << "arr[" << i << "] = ";

       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 << arr[i] << " ";

   }

   cout << endl;

 

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

   

   return 0;

}

Похожие вопросы
Предмет: Математика, автор: lizyn555