0 / 0 / 0
Регистрация: 23.11.2016
Сообщений: 8
1

Время работы сортировки вставками для разных размерностей массива

29.05.2017, 12:44. Показов 843. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Друзья, подскажите: в чём проблема? Нужны временные показания работы сортировки с различными размерностями массива, для построения графика.
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
#include <iostream>
#include <ctime>
 
int sorting(int* copy_arr, int size)
{
    int start_time = clock();
    for (int i = 1; i < size; i++)
    {
        for (int j = i; (j > 0) && (copy_arr[j - 1] > copy_arr[j]); j--)
        {
            std::swap(copy_arr[j - 1], copy_arr[j]);
        }
    }
    int end_time = clock();
    return (end_time - start_time);
}
 
int main()
{
    const int max_size = 1000000;
    int size = 30000;
    int arr[max_size];
    std::cout << "\tКол. элементов\t\tВремя выполнения\n";
    for (int i = size; size < 900000; i += size)
    {
        for (int a = 0; a < i; a++)
        {
            arr[a] = rand();
        }
        std::cout << '\t' << size << "\t\t" << sorting(&arr[i], size) << '\n';
    }
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2017, 12:44
Ответы с готовыми решениями:

Сортировки: быстрая, вставками. Сравнить время работы на последовательностях разной длины
Быстрая сортировка, сортировка вставками. Необходимо реализовать эти алгоритмы сортировки и...

Время работы алгоритма пирамидальной сортировки массива
Чему равно время работы алгоритма пирамидальной сортировки массива A длины n, в котором элементы...

Попробуйте написать функцию сортировки массива вставками для целочисленных массивов
Попробуйте написать функцию сортировки массива вставками для целочисленных массивов. А затем...

Расставить элементы массива в порядке возрастания методом сортировки выбором и сортировки простыми вставками
Здрасьте еще раз!С прошедшим вас праздником! я глупая и бестолковая опять пришла к вам на...

4
7525 / 6391 / 2913
Регистрация: 14.04.2014
Сообщений: 27,835
29.05.2017, 18:12 2
Цитата Сообщение от Tote_Hoffnung Посмотреть сообщение
в чём проблема?
И в чём она? int на clock_t замени для начала.
0
0 / 0 / 0
Регистрация: 23.11.2016
Сообщений: 8
30.05.2017, 08:26  [ТС] 3
Цитата Сообщение от nmcf Посмотреть сообщение
И в чём она?
Отказывается работать как в VS, так и в http://cpp.sh/
0
Любитель чаепитий
3737 / 1796 / 563
Регистрация: 24.08.2014
Сообщений: 6,014
Записей в блоге: 1
30.05.2017, 08:35 4
1. for (int i = size; size < 900000; i += size)
size нигде не меняется...
2.
Цитата Сообщение от Tote_Hoffnung Посмотреть сообщение
for (int a = 0; a < i; a++)
если будет i >= max_size, то будет UB.
3.
Цитата Сообщение от Tote_Hoffnung Посмотреть сообщение
sorting(&arr[i], size)
если arr[i] + size > max_size, то будет UB.
1
0 / 0 / 0
Регистрация: 23.11.2016
Сообщений: 8
30.05.2017, 09:30  [ТС] 5
Хорошо, исправил. Но что со временем? Дико себя ведёт и практически не изменяется.
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
#include <iostream>
#include <ctime>
 
int sorting(int* copy_arr, int size)
{
    clock_t start_time = clock();
    for (int i = 1; i < size; i++)
    {
        for (int j = i; (j > 0) && (copy_arr[j - 1] > copy_arr[j]); j--)
        {
            std::swap(copy_arr[j - 1], copy_arr[j]);
        }
    }
    clock_t end_time = clock();
    return end_time - start_time;
}
 
int main()
{
    const int max_size = 10000000;
    int size = 300000;
    int *arr = new int[max_size];
    std::cout << "Кол. элементов\tВремя выполнения\n";
    for (int i = size; i < 9000000; i += size)
    {
        for (int a = 0; a < i; a++)
        {
            arr[a] = rand();
        }
        std::cout << i << "            " << sorting(&arr[i], size) << "\t\t" << '\n';
    }
    delete [] arr;
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.05.2017, 09:30
Помогаю со студенческими работами здесь

Как можно описать метод Крамера динамически для разных размерностей
Как можно описать метод Крамера динамически для разных размерностей Не знаю как detA = ...

Метод сортировки массива вставками
Здравствуйте! Объясните, пожалуйста, принцип этого метода В интернете искал, но там для других...

Подпрограмма сортировки массива из записей вставками
Разработать программу с подпрограммой сортировки вставками массива из записей. Заранее спасибо.

Составить программу сортировки одномерного массива вставками
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать произвольные целые...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru