Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2014, 21:28   #1
MonoRec
 
Регистрация: 19.11.2014
Сообщений: 3
Восклицание Сравнение сортировок

Помогите с подсчетом количества сравнений в сортировках.
Проблема заключается в том, что количество операций у сортировок практически равны (2450-2550 сранений), при size=100;
Можете посмотреть код, правильно ли я расставил счетчик операций.

• Сортировка методом четных и нечетных транспозиций.
Код:
int Sort_Evenandodd(int *arr, int size)
{
int res;
int d=0;
do
 {
    res=0;
     for (int i=0;i<size-1;i+=2)
     {
       if(arr[i]>arr[i+1]) 
       { d++;
         int m=arr[i];
         arr[i]=arr[i+1];
         arr[i+1]=m;
         res=1;
       }
     } 
     for (int i=1;i<size-1;i+=2)
     {
       if(arr[i]>arr[i+1]) 
       {
         d++;
         int m=arr[i];
         arr[i]=arr[i+1];
         arr[i+1]=m;
         res=1;
      } 
 } d++;
}while(res==1);
return d;
}
• Простая сортировка вставкой.
Код:
int Sort_Insert(int* arr,int size)
{
    int counter=0;
    for(int i=1;i<size;i++){
        for(int j=i; j>0 && arr[j-1]>arr[j];j--){
            counter++;
            int tmp=arr[j-1];
            arr[j-1]=arr[j];
            arr[j]=tmp;
        }
    }
return counter;
}
MonoRec вне форума Ответить с цитированием
Старый 21.11.2014, 22:00   #2
MonoRec
 
Регистрация: 19.11.2014
Сообщений: 3
По умолчанию

Помогите пожалуйсто.
MonoRec вне форума Ответить с цитированием
Старый 21.11.2014, 23:19   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Тут считается скорее число перестановок, а не число сравнений. В первом варианте лишний инкремент:
Код:
      } 
 } d++;
}while(res==1);
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение сортировок Delphi psy_shit Помощь студентам 0 22.03.2011 09:10
методы сортировок C++ Versus12243 Общие вопросы C/C++ 0 19.01.2011 22:56
Сравнение методов сортировок массивов. Семестровая работа Fantom.as Помощь студентам 2 16.12.2010 12:03
паскаль, сравнение сортировок Хоара и пузырька semak Помощь студентам 0 01.12.2010 10:57
Сравнение сортировок Паскаль Igomax Помощь студентам 6 24.10.2009 17:58