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

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

Войти
Регистрация
Восстановить пароль
 
saahha
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 7
#1

Сортировка Шелла - C++

04.05.2014, 18:01. Просмотров 458. Ответов 1
Метки нет (Все метки)

объясните пожалуйста эту часть: шаг сортировки задается формулами: 2k-1, (2k-(-1)k)/3
что такое k,не думаю, что это кол-во элементов в массиве.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2014, 18:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка Шелла (C++):

Сортировка Шелла. Написал программу, не могу понять, почему сортировка не выполняется - C++
Программа создает динамический массив с рандомным заполнением. Дальше выбор сортировок, пузырьком или сортировка Шелла. Вот она то и не...

Сортировка Шелла и пирамидальная сортировка для символов - C++
Здраствуйте, можете пожалуйста привести пример сортировок шелла и пиромидальной сортировки для символов, а то ничего не могу ...

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

Сортировка Шелла и сортировка вставками - C++
Напишите программу для: 1)Сортировка вставкой 2)сортировка Шелла

Сортировка Шелла - C++
Скажите пожалуйста какой из вариантов лучше использовать для реализации сортировки Шелла? Второй вариант меня смущает тем, что там больше...

Сортировка Шелла - C++
Здраствуйте! Обьясните пожалуйста сортировку Шелла ну или хотя бы скиньте код самой сортировки.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
deadlinishe
7 / 7 / 1
Регистрация: 03.05.2014
Сообщений: 143
05.05.2014, 17:58 #2
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
#include <stdio.h>
#include <conio.h>
void shellSort(int a[], int size);
int increment(int inc[], int size);
int main () {
 int j;
 int m=0;
 int in_mas[100];
 printf("\nVvedite 4islo elementov massiva: ");
 scanf("%d", &m);
 
 for(j = 0; j < m; j++) {
  printf("\nVvedite 4islо: ");
  scanf("%d", &in_mas[j]);
 }
 
 shellSort(in_mas, m);
 
 printf ("\n");
 printf ("\n");
 getch();
}
 
void shellSort(int a[], int size) {
 int inc, i, j, seq[40];
 int s;
 
 s = increment(seq, size);
 while (s >= 0) {
  
  inc = seq[s--];
 
  for (i = inc; i < size; i++) {
   int temp = a[i];
   for (j = i-inc; (j >= 0) && (a[j] > temp); j -= inc) {
    a[j+inc] = a[j];
   }
   a[j+inc] = temp;
  }
 }
 
 for(i = 0; i < size; ++i) {
     printf("%d ", a[i]);
 }
}
 
int increment(int inc[], int size) {
 int p1, p2, p3, s;
 
 p1 = p2 = p3 = 1;
 s = -1;
 do {
  if (++s % 2) {
   inc[s] = 8*p1 - 6*p2 + 1;
  }
  else {
   inc[s] = 9*p1 - 9*p3 + 1;
   p2 *= 2;
   p3 *= 2;
  }
  p1 *= 2;
 }
 while(3*inc[s] < size);  
 
 return s > 0 ? --s : 0;
 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2014, 17:58
Привет! Вот еще темы с ответами:

Сортировка Шелла - C++
Ребят помогите. есть матрица нужно отсортировать каждую строчку матрицы по убыванию алгоритмом Шелла. #include &lt;fstream&gt; #include...

Сортировка Шелла - C++
Здравствуйте. Решил сравнить скорость действия сортировки Шелла с различными последовательностями длин промежутков между элементами. Но...

Сортировка Шелла - C++
В алфавитном порядке по фамилии алгоритмом Шелла #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;fstream&gt; #include &lt;iomanip&gt; ...

Сортировка Шелла - C++
Нужно написать программу которая делает сортировку Шелла, сколько кодов уже пересмотрел всё не то! Нужна сортировка 14-15 элементов, не...


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

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

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