Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для VLaDoS_2001a
319 / 216 / 114
Регистрация: 14.05.2020
Сообщений: 890

Отсортировать двумерный массив

12.08.2020, 18:26. Показов 519. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли отсортировать двумерный массив? сортировкой O(n log n), а не O(N^2)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Как можно модифицировать????
void sort(int* arr, int n)
{
    int i = 0, j = n - 1, mid = arr[n >> 1];
    do
    {
        while(arr[i] < mid) ++i;
        while(arr[j] > mid) --j;
        if(i <= j)
        {
            swap(arr[i], arr[j]);
            ++i; --j;
        }   
    }while(i <= j);
    
    if(j > 0) sort(arr,j);
    if(n > i) sort(arr+i,n-i);
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.08.2020, 18:26
Ответы с готовыми решениями:

Массив: преобразорвать двумерный массив в одномерный и отсортировать его методом пузырька
всем привет. народ помогите с прогой, конкретно с функцией sort (65 строка), она должна двухмерный массив перевести построчно в одномерный...

Отсортировать двумерный массив
В файле содержится двумерный массив размерностью n × n. В новый файл вывести отсортированный массив. Каждый третий столбец по...

Отсортировать двумерный массив по возрастанию
Привет.Помогите пожалуйста отсортировать двумерный массив по возрастанию. Надо чтобы было вот так. 10 11 12 13 14 15 16 17 18 и...

7
264 / 183 / 87
Регистрация: 03.05.2020
Сообщений: 790
12.08.2020, 18:50
статичный?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
 
void print(int *a,int n,int m)
{
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
            cout<<setw(4)<<a[i*m+j];
        cout<<endl;
    }
    cout<<endl;
}
 
void qSort(int* l, int* r)
{
    int *i=l, *j=r;
    int m=*(l+(r-l)/2);
    while(i<=j)
    {
        for(; *i<m; i++);
        for(; *j>m; j--);
        if(i<=j) swap(*i++,*j--);
    }
    if(l<j) qSort(l,j);
    if(i<r) qSort(i,r);
}
 
void main()
{
    const int n=4;
    const int m=5;
    int a[n][m];
    srand(unsigned(time(0)));
    for(int i=0; i<n; i++)
        for(int j=0; j<m; j++)
            a[i][j]=rand()%199-99;
    print((int*)a,n,m);
    qSort((int*)a,(int*)a+n*m-1);
    print((int*)a,n,m);
    system("pause");
}
0
 Аватар для VLaDoS_2001a
319 / 216 / 114
Регистрация: 14.05.2020
Сообщений: 890
12.08.2020, 18:52  [ТС]
AnyKey, динамичный int**arr
0
264 / 183 / 87
Регистрация: 03.05.2020
Сообщений: 790
12.08.2020, 19:07
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
 
void print(int **a,int n,int m)
{
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
            cout<<setw(4)<<a[i][j];
        cout<<endl;
    }
    cout<<endl;
}
 
void qSort(int **a,int l,int r,int m)
{
    int i=l, j=r;
    int md=(l+r)/2;
    md=a[md/m][md%m];
    while(i<=j)
    {
        for(; a[i/m][i%m]<md; i++);
        for(; a[j/m][j%m]>md; j--);
        if(i<=j)
        {
            swap(a[i/m][i%m],a[j/m][j%m]);
            i++;
            j--;
        }
    }
    if(l<j) qSort(a,l,j,m);
    if(i<r) qSort(a,i,r,m);
}
 
void main()
{
    int n=4,m=5;
    int **a=new int*[n];
    srand(unsigned(time(0)));
    for(int i=0; i<n; i++)
    {
        a[i]=new int[m];
        for(int j=0; j<m; j++)
            a[i][j]=rand()%199-99;
    }
    print(a,n,m);
    qSort(a,0,n*m-1,m);
    print(a,n,m);
    for(int i=0; i<n; i++)
        delete[] a[i];
    delete[] a;
    system("pause");
}
0
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
12.08.2020, 19:14
Цитата Сообщение от VLaDoS_2001a Посмотреть сообщение
сортировкой O(n log n), а не O(N^2)
очень подходит описание std::sort

Добавлено через 1 минуту
Цитата Сообщение от VLaDoS_2001a Посмотреть сообщение
Можно ли отсортировать двумерный массив?
что такое сортировка двумерного массива?
это сортировка каждой строки, каждого ряда, сортировка с учётом всех рядов и строк?
0
 Аватар для VLaDoS_2001a
319 / 216 / 114
Регистрация: 14.05.2020
Сообщений: 890
12.08.2020, 19:15  [ТС]
AndryS1, da
1
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
12.08.2020, 19:16
Цитата Сообщение от VLaDoS_2001a Посмотреть сообщение
AndryS1, da
Без конкретного ТЗ, мой ответ всегда "ХЗ"
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
12.08.2020, 20:42
Цитата Сообщение от VLaDoS_2001a Посмотреть сообщение
da
А вас не смущает, что он вас спрашивал про три разных варианта, и вы на это "да" отвечаете?
Цитата Сообщение от AndryS1 Посмотреть сообщение
это сортировка каждой строки, каждого ряда, сортировка с учётом всех рядов и строк?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.08.2020, 20:42
Помогаю со студенческими работами здесь

Отсортировать двумерный динамический массив
Здравствуйте Ребята!Помогите кто разбирается Задание отсортировать двумерный динамический массив Вопрос Сделать с него одномерный...

Отсортировать двумерный массив по столбцам
Вся беда в том, что делать это нужно через указатели. Размерность массива задаёт пользователь (количество строк и столбцов). Нужно...

Отсортировать двумерный массив по столбцам
С помощью какой сортировки можно отсортировать двумерный массив по столбцово? Следующий вопрос вот в чем. Вот у меня двумерный массив (3...

Отсортировать двумерный массив по столбцам
Добрый день! Я хочу отсортировать двухмерный масив по колоннам! Вот код программы -&gt; #include &lt;bits/stdc++.h&gt; ...

Пожалуйста, нужно отсортировать двумерный массив
Всем привет. Помоготе, пожалуйста.. Вторую неделю не могу сделать задание, через два дня уже сдавать... В задании нужно упорядочить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru