|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.12.2012, 17:03 | #1 |
Новичок
Джуниор
Регистрация: 29.11.2012
Сообщений: 2
|
Сортировка расческой,перепишите с С++ на VBA
#include <algorithm>
#include <iostream> /* Comb Sort Algorithm using namespace std; //newGap Function int createGap( int gap ) { gap = ( gap * 10 ) / 1.3; if ( gap == 9 || gap == 10 ) gap = 11; if (gap < 1) gap = 1; return gap; }//end newGap Function void combSort(int data[], int size) { int gap = size; while(true) { gap = createGap( gap ); bool swapped = false; for (int i = 0; i < size - gap; i++) { int j = i + gap; if ( data[i] > data[j] ){ swap(data[i], data[j]); swapped = true; }//end if }//end for if (gap == 1 && !swapped) break; }//end for }//end combSort Function int main() { //Test data set int data[5] = { 5, 2, 3, 1, 4 }; int size = 5; cout << "***Combsort Algorithm***" <<endl <<endl; //Print presorted data items cout << "Pre-Sorted Data Set: "<<endl; for ( int i = 0; i < 5; i++ ) cout << data[i] << " "; cout << endl; combSort(data, size); cout << endl; //Print sorted data items cout << "Combsorted Data Set: " <<endl; for ( int i = 0; i < 5; i++ ) cout << data[i] << " "; cout << endl <<endl; return 0; }и еще буду очень благодарен, если кто-нибудь еще поможет с реализацией шага назад и шага вперед в этой сортировке |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужно сделать шаг вперед и шаг назад в сортировке расческой | DeadGod | Помощь студентам | 0 | 29.11.2012 16:11 |
перепишите на язык си | Tolian92 | Помощь студентам | 1 | 22.01.2012 13:34 |
перепишите на язык си | Tolian92 | Помощь студентам | 1 | 21.01.2012 16:34 |