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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SuLLeN
23 / 23 / 4
Регистрация: 27.12.2011
Сообщений: 803
#1

Сортировка данных - C++

18.11.2012, 14:06. Просмотров 308. Ответов 7
Метки нет (Все метки)

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <iostream>
 
using namespace std;
 
char shift(char *in)
{
 char item, *out = in;
 item = in[0]; *in++;
 while (*out++ = *in++);
 return item;
};
 
size_t push(char *in, char item)
{
 in[strlen(in)+1] = '\0';
 in[strlen(in)] = item;
 return strlen(in);
};
 
char *merge(char *left, char *right)
{
 size_t i = strlen(left)+strlen(right)+1;
 char *result = new char[i];
 result[0] = '\0';
 
 while (strlen(left) && strlen(right))
 {
  if (left[0] <= right[0])
  push(result, shift(left));
  else
  push(result, shift(right));
 }
 
 while (strlen(left))
 push(result, shift(left));
 
 while (strlen(right))
 push(result, shift(right));
 
 return result;
};
 
char *slice(char *in, size_t begin, size_t end)
{
 char *out = new char[strlen(in)];
 size_t i = 0, b = begin;
 while (b != end)
 {
  out[i] = in[b];
  i++; b++;
 }
 out[i] = '\0';
 return out;
};
 
char *merge_sort(char *in)
{
 size_t middle1;
 switch(strlen(in))
 {
  case 0:
  case 1:
  return in;
  default:
  middle1 = (strlen(in) * 1) / 2;
  return merge(merge_sort(slice(in, 0, middle1)),merge_sort(slice(in, middle1, strlen(in))));
 }
};
 
int main()
{
char a[11] = "7182930465", b[27] = "qazxswedcvfrtgbnhyujmkiolp", c[37] = "z0pa9q1ol2kwisx8c7duej3m4nrhfyv6b5gt";
cout << "sample a: " << a << endl;
cout << "sorted a: " << merge_sort(a) << endl << endl;
cout << "sample b: " << b << endl;
cout << "sorted b: " << merge_sort(b) << endl << endl;
cout << "sample c: " << c << endl;
cout << "sorted c: " << merge_sort(c);
system("pause > 0");
return 0;
}
0
Миниатюры
Сортировка данных  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2012, 14:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка данных (C++):

Чтение из файла определённого места и сортировка данных исходя из этих данных - C++
Есть некий текстовый документ, содержащий информацию о посещении сайта в формате: Например 12.5.76.200 04:23 Mon Цель:...

Сортировка данных в Структуре С++ - C++
Доброго времени суток, дорогие форумчане! Возникла следующая проблема. Нужно отсортировать структуру по полю типа int Сама...

Сортировка данных стуктуры - C++
Здравствуйте, пытался сортировать данные стуктуры, но ничего не выходило, либо выводятся нули, либо вообще ничего. #include &lt;stdio.h&gt;...

Передача данных и сортировка - C++
Сделал шаблонную очередь,но так и не понял как мне передать данные в класс sort и как сделать сортировку строк по алфавиту в этом классе. ...

Сортировка данных в массиве - C++
Такой вопрос: написал прогу по структурам. Вроде код правильный, но при сортировке записи перемешиваются и получается бред. Быть может в...

Сортировка данных класса - C++
Всем привет,есть класс &quot;книга&quot; у меня не получилось сделать несколько пунктов, 1.При добавлении авторов сохраняется последний автор,так...

7
David Sylva
1291 / 953 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
18.11.2012, 14:10 #2
У меня всё сортирует и нормально выводит без ошибок
1
Kuzia domovenok
2119 / 1949 / 192
Регистрация: 25.03.2012
Сообщений: 6,755
Записей в блоге: 1
18.11.2012, 14:12 #3
запустил - не вылетает
0
SuLLeN
23 / 23 / 4
Регистрация: 27.12.2011
Сообщений: 803
18.11.2012, 14:30  [ТС] #4
Странно, у меня в VS 2010 тож не вылетает, а в DevCpp вылетает...
0
Kuzia domovenok
2119 / 1949 / 192
Регистрация: 25.03.2012
Сообщений: 6,755
Записей в блоге: 1
18.11.2012, 14:35 #5
я заметил, что в DevCPP иногда довольно странные способы оптимизации происходят.несколько переменных могут оказаться в ячейке по одному адресу.
1
cactus09
18.11.2012, 14:41
  #6

Не по теме:

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
я заметил, что в DevCPP иногда довольно странные способы оптимизации происходят.несколько переменных могут оказаться в ячейке по одному адресу.
Я опечален.... так эта среда нравится, скромный минимализм и такие подставы

0
OzyRus
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 5
18.11.2012, 20:33 #7
Ясно... спасибо всем.
0
SuLLeN
23 / 23 / 4
Регистрация: 27.12.2011
Сообщений: 803
18.11.2012, 22:45  [ТС] #8
Даа... лучше VS 2010 пользоваться...
0
18.11.2012, 22:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2012, 22:45
Привет! Вот еще темы с ответами:

Сортировка в базе данных - C++
Покажите пример реализации сортировки в базе данных. вижла, с++, консоль. самый простейший. не могу найти ничего похожего. заранее...

Сортировка данных структуры! - C++
требуется чуть-чуть, а никак :-((. Добавить сортировку по полю пробег!!!! Microsoft VS Studio 2005 C++. я знаю что тут типа как строчек 5...

Сортировка данных в структуре - C++
Написал код для структуры, содержащей список фамилий, имен, номеров телефона, дней рождения Нужно сортировать список по номеру телефона ...

Сортировка информации из базы данных - C++
Вот функция вывода из файла: void Open() { Abbase z3; system (&quot;cls&quot;); cout&lt;&lt;&quot;Abbase 0.36 beta 3\n&quot;&lt;&lt;endl; cout&lt;&lt;&quot;Таблица...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru