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

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

Войти
Регистрация
Восстановить пароль
 
DanielDefo
5 / 5 / 0
Регистрация: 13.09.2009
Сообщений: 225
#1

Метод шелла - C++

22.06.2010, 16:15. Просмотров 488. Ответов 0
Метки нет (Все метки)

РЕбят помогите пожалуйста в написании комментариев по данной программе, если можно для каждой строки. ЗАдание - Провести сортировку последовательности а1, … , аn методом Шелла
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
#include<iostream.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
void sort_insert(int *mass,int size);
void ShellSortBin(int* mass, int size);
void print(int *mass, int size);
int main(){
int mas[10];
srand((unsigned)time(NULL));
int i;
for( i = 0 ; i < 10 ; i++ )mas[i] = rand();
print(mas,10);    //внесенные изменения.
ShellSortBin(mas,10);
print(mas,10);
 
getch();
return 0;
}
void sort_insert(int *mass,int size){
                  int t;
                                int i, j;
                                for (i = 1; i < size; i++) {
                                         t = mass[i];
 
                                         for (j = i; j > 0 && mass[j-1] > t; j--) {
                                                  mass[j] = mass[j-1];
                                         }
                  mass[j] = t;
         }
}
void ShellSortBin(int* mass, int size) {
int d = size;
while (d > 1) {
                                         d /= 2;
                                         int i = 0, j = 0;
while (j = i + d < size) {
if (mass[i] > mass[j]) {
                                         int tmp = mass[i];
                                                                                  mass[i]=mass[j];
                                                                                  mass[j]=tmp;
                                                  }
                                        i++;
                                         }
                                }
sort_insert(mass,size);
}
void print(int *mass, int size){
int i;
for( i = 0 ; i < size ; i++)printf("%d ",mass[i]);
printf("\n");
}

ЗАранее огромное спасибо, завтра если не сдам, будут у меня большие проблемы.

Обьясните что происходит в 20,21,23,24,26,29,31,34,35,36,37,38,43,47 строках. заранее огромное спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2010, 16:15     Метод шелла
Посмотрите здесь:

Метод Шелла C++
C++ Метод Шелла
C++ Не получается обнаружить ошибку(метод Шелла)
C++ Метод Шелла
C++ ШЕЛЛА
Сортировка Шелла C++
Метод Шелла, алгоритм обмена C++
C++ Метод Шелла
C++ Сортировка, метод шелла
C++ метод сортировки Шелла
C++ Сортировка Шелла
C++ Метод Шелла

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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