С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Отсортировать в лексикографическом порядке последовательность слов одинаковой длины (сортировкой Хоара) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что такое инкапсуляция? http://www.cyberforum.ru/cpp-beginners/thread1198044.html
объясните пожалуйста что такое инкапсуляция и на примерах!
C++ Графика в с++ Здравствуйте, друзья программисты. Как подключить графику на с++ (консоль) в Visual Studio 2013? http://www.cyberforum.ru/cpp-beginners/thread1198039.html
Не знаю как создать программу C++
Прошу помочь создать программу с использованием стандартной библиотеки шаблонов. Я бы сделал сам, но скоро сессия и поэтому у меня мало времени, чтобы разбираться с принципами работы STL. А от данной...
строки char16_t и char32_t C++
здравствуйте, читаю Прата Стивен - ЯП С++. там есть примеры вида: #include <iostream> using namespace std; int main() { wchar_t title = L"Chief Astrogator"; // строка w_char char16_t...
C++ Char+48 http://www.cyberforum.ru/cpp-beginners/thread1197981.html
Что означает char(f)+48, вернее, зачем пишется 48?
C++ Тип возвращаемого значения не соответствует типу функции double get_left (void); { double e, c; e = ex - a; c = cx - r; return max(e, c); } double get_right (void); { подробнее

Показать сообщение отдельно
Demon55
1 / 1 / 0
Регистрация: 29.11.2013
Сообщений: 46
03.06.2014, 19:40  [ТС]
То есть так? И что делать со средним элементом?
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
 
void hoarasort(char* arr, int l, int r)
{
 
char tmp, x = arr[(l + r) / 2];//серединый элемент
int ml = l, mr = r; 
do {
   while (strcmp(arr[ml],x)<0)
     ml++;
   while (strcmp(arr[mr],x)<0)
     mr--;
 
   if (strcmp(arr[mr],arr[ml]) && strcpy(arr[mr],arr[ml])) 
   {
     if (strcmp(arr[ml],arr[mr])<0)
     {
       tmp=arr[ml];
       arr[ml]=arr[mr];
       arr[mr]=tmp;
     }
     ml++;
     mr--;
   }
} while (strcmp(arr[ml],arr[mr]) && strcpy(arr[ml],arr[mr]));
 
if (strcmp(arr[mr],r)<0)
   hoarasort(arr, ml, r);
if (strcmp(arr[ml],arr[mr])<0)
   hoarasort(arr, l,mr);
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.