Форум: Форум C++Разное
Новые темы: 00
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Метод Шелла
 
 автор: erweq   (06.06.2010 в 22:25)   письмо автору
 
 

Объясните пожалуйста принцип сортировки Массива методом Шелла! Очень нужно. На википедии хорошо про него написано, но было неплохо описать вариант на С++

  Ответить  
 
 автор: erweq   (06.06.2010 в 22:44)   письмо автору
 
   для: erweq   (06.06.2010 в 22:25)
 

вот я нашел функцию можно на примере ее объяснить?
#
include <iostream>
#include <stdio.h>
using namespace std;

void shellSort(int *array, int n){
int i, j, k, gap, temp;
int a[] = {31, 15, 7, 3, 1};
for ( k = 0; k < 5; k++ ) {
 gap = a[k];
 for ( i = gap; i < n; i++ ) {
 temp = array[i];
 for (j = i-gap; temp < array[j] && j >= 0; j -= gap)
 array[j + gap] = array[j];
 array[j + gap] = temp;
 }
}
}

void main(){
int i, size;
int *array;
    cout << "Shell Sort.\nEnter array dimension: ";
    cin >> size;
array = new int[size];
    cout << "Enter " << size << " elements: ";
for ( i = 0; i < size; i ++ ){
cin >> array[i];
}

shellSort( array, size );

cout << "Your array after sorting: ";
for ( i = 0; i < size; i ++ ){
cout << array[i] << " ";

    cout << "\nPress \"Enter\" to continue..." << endl; 
    getchar();
}

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования