Форум программистов, компьютерный форум CyberForum.ru

Сортировка перемешиванием - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Бинарные файлы, русские буквы. http://www.cyberforum.ru/cpp-beginners/thread396556.html
Всем привет. Как решить такую проблему, есть простая структура: struct foo { int a; char s; }; записываю в файл так: foo obj; strcpy(obj.s, "бла бла"); //...
C++ Ошибка SIGABRT сразу при запуске Здравствуйте. Помогите пожалуйста, я в недоумении. Сразу при запуске вылетает сообщение о том, что перехвачен сигнал SIGABRT. Не могу понять, чем это может быть вызвано. Гугление привело к тому, что подобный сигнал вылетает при ошибках в работе с памятью, в частности - при повторной очистке. Пользуюсь только парой new-delete. Вроде бы всё проверил - всё нормально. Подобная тема уже была тут... http://www.cyberforum.ru/cpp-beginners/thread396520.html
C++ программа по с++
помогите разобраться с программой,что означает вот эта строчка td::list<int> lst(arr, arr + n); bool fl = false; for(std::list<int>::iterator st = lst.begin(), fs = lst.end(); st != fs; ++st) в этом коде #include <iostream> #include <list> #include <iterator> #include <stdlib.h>
обработка строки в c++ C++
1) Написать программу, которая обнуляет все согласные символы, расположенные между двумя гласными символами. Ввод строки с клавиатуры. 2) Написать программу, которая стирает в строке подстроку и обновленную строку выводит на экран, как одно целое. Ввод строки и подстроки сделать с клавиатуры. 3) Модернизировать программу так, чтобы аналогичное редактирование текста было произведено в файле,...
C++ Найти сумму элементов каждой диагонали матрицы, параллельной главной http://www.cyberforum.ru/cpp-beginners/thread396501.html
1Дана квадратная матрица A порядка M. Найти сумму элементов каж-дой ее диагонали, параллельной главной (начиная с одноэлементной диа-гонали A1,M). 2Дана матрица размера M × N. Преобразовать матрицу, поменяв мес-тами минимальный и максимальный элемент в каждой строке. задачи на С++
C++ Итерационные методы решения СЛАУ Помогите! Нужен код какого-либо итерационного метода решения систем линейных уравнений. Решить необходимо систему уравнений с сильно разреженной матрицей порядка 100 000. подробнее

Показать сообщение отдельно
Jagon95
Сообщений: n/a

Сортировка перемешиванием - C++

01.12.2011, 17:24. Просмотров 1516. Ответов 0
Метки (Все метки)

Доброго времени суток! Я написал программу, выполняющую шейкерную сортировку (перемешиванием) массива из случайных чисел на 30 тыс. элементов. В ходе написания встречались сложности, с которыми я, до сих пор, справлялся. И вот, когда, казалось бы, пофиксил все ошибки и запустил таки программу, выяснилось, что она не работает. В чём проблема, не знаю. Помогите.

PS
Данная программа должна высчитывать время, затрачиваемое на сортировку массивов от 1 тыс. до 30 тыс. элементов с шагом в 1000 элементов (30 циклов). Желательно, чтобы код был написан на простейшем уровне (примерно как здесь). Заранее спасибо.

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 <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main(void)
{
    int m[30000];
    int mc[30000];
    int i, x, y, n, j, k;
    time_t t1, t2;
 
    randomize();
 
    for (i=0; i<30000; i++)
    mc[i]=random(10000);
 
 
    for(j=1; j<31; j++)
    {
        n=j*1000;
 
 
    t1=time(NULL);
 
    for(i=0; i<n; i++)
    m[i]=mc[i];
//начало сортировки
    for (i=0; i<n/2; i++)
    {
        for (k=i; k<n-i-1; k++)
        {
        if (m[k]>m[k+1])
        {
            x=m[k];
            m[k]=m[k+1];
            m[k+1]=x;
        }
        }
        for (k=n-i-1; k>i; k--)
        {
        if (m[k]>m[k-1])
        {
            x=m[k];
            m[k]=m[k-1];
            m[k-1]=x;
        }
        }
    }
//конец сортировки
t2=time(NULL);
 
printf("%4d", t2-t1); //вывод времени
 
}
}
Добавлено через 11 минут
"Не работает" - сортировка не выполняется/выполняется неверно.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru