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

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

Восстановить пароль Регистрация
 
SuLLeN
 Аватар для SuLLeN
21 / 21 / 4
Регистрация: 27.12.2011
Сообщений: 767
18.11.2012, 14:06     Сортировка данных #1
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;
}
Миниатюры
Сортировка данных  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
18.11.2012, 14:10     Сортировка данных #2
У меня всё сортирует и нормально выводит без ошибок
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
18.11.2012, 14:12     Сортировка данных #3
запустил - не вылетает
SuLLeN
 Аватар для SuLLeN
21 / 21 / 4
Регистрация: 27.12.2011
Сообщений: 767
18.11.2012, 14:30  [ТС]     Сортировка данных #4
Странно, у меня в VS 2010 тож не вылетает, а в DevCpp вылетает...
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
18.11.2012, 14:35     Сортировка данных #5
я заметил, что в DevCPP иногда довольно странные способы оптимизации происходят.несколько переменных могут оказаться в ячейке по одному адресу.
cactus09
18.11.2012, 14:41
  #6

Не по теме:

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

OzyRus
 Аватар для OzyRus
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 5
18.11.2012, 20:33     Сортировка данных #7
Ясно... спасибо всем.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2012, 22:45     Сортировка данных
Еще ссылки по теме:

Сортировка собственных типов данных C++
Сортировка данных класса C++
Сортировка и поиск данных в структуре C++

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

Или воспользуйтесь поиском по форуму:
SuLLeN
 Аватар для SuLLeN
21 / 21 / 4
Регистрация: 27.12.2011
Сообщений: 767
18.11.2012, 22:45  [ТС]     Сортировка данных #8
Даа... лучше VS 2010 пользоваться...
Yandex
Объявления
18.11.2012, 22:45     Сортировка данных
Ответ Создать тему
Опции темы

Текущее время: 00:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru