|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Вопрос на кругозор |
|
|
C/C++ - Вопрос на кругозор
|
Новый участник Сообщения: 43 |
Можете наглядно объеснить как можно написать merge sort алгаритом с коментами.
Хотел сам по гуглить но нечего не опнятно. |
|
Отправлено: 16:19, 29-09-2010 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 17:29, 29-09-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать Там были примеры, но без коментов. Я ничего не понял. Я хотел по просить кого нить чтоб он написал код с понятными коментами.
LxA 85, можешь написать и всё подробно расписать? |
Отправлено: 21:48, 29-09-2010 | #3 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать Hardcore, ты по ссылкам в статье в Википедии ходил? Там в картинках с примерами. Псевдокод и т.д.
Или тебе не понятен смысл и суть алгоритма? Как бы сказать... Что именно ты хочешь узнать? Понимаешь, твой вопрос сейчас звучит в очень широком смысле. И поэтому, как и каждого не определившегося, тебя посылают изучать литературу. Когда у тебя появится базис, ты уже сможешь задать более конкретный вопрос. И уже будет видно, что человек что-то искал, копал, старался. Т.е. уже можно с ним о чем то поговорить. Поэтому без обид, но пока тебе придется дальше изучать примеры в википедии. С листком бумаги, с собственными примерами входных данных. Пройти алгоритм "по шагам" в ручную. P.S. Сразу скажу, никаких кодов С++ я писать не буду. Псевдокод в лучшем случае. |
------- Отправлено: 22:30, 29-09-2010 | #4 |
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать Я по капалься и нашел самый для меня понятный код с коментами. Но она не компилирвуется.
Почему? #include <iostream> using namespace std; template<class T> void MergeSort(T *const A, int const n) { //Отсортировать массив A, содержащий n элементов if( n < 2 ) return; //Сортировка не нужна if( n == 2 ) //Два элемента проще поменять местами, { // если нужно, чем делать слияние if( A[0] > A[1] ) { T const t(A[0]); A[0]=A[1]; A[1]=t; } return; } MergeSort(A , n/2 ); //Сортируем первую половину MergeSort(A+n/2, n-n/2); //Сортируем вторую половину T *const B( new T[n] ); //Сюда запишем результат слияния Merge(A,n/2, A+n/2,n-n/2, B); //Слияние половин //Копирование результата слияния в исходный массив: for(int i(0); i<n; ++i) A[i]=B[i]; delete[n] B; //Удаляем временный буфер } |
|
Последний раз редактировалось Hardcore, 29-09-2010 в 23:39. Отправлено: 23:15, 29-09-2010 | #5 |
Misanthrope Сообщения: 474
|
Профиль | Отправить PM | Цитировать а компилятор что говорит?
|
------- Отправлено: 00:17, 30-09-2010 | #6 |
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать Выводит Error(
|
Отправлено: 08:03, 30-09-2010 | #7 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать где блок main ?
где реализация функций merge? (или она стандартная, встроенная) Цитата Hardcore:
|
|
------- Отправлено: 08:32, 30-09-2010 | #8 |
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать Error 2 error LNK1120: 1 unresolved externals C:\Users\Sungat\documents\visual studio 2010\Projects\лимит\Debug\merge.exe
Error 1 error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup C:\Users\Sungat\documents\visual studio 2010\Projects\лимит\лимит\MSVCRTD.lib(crtexe.obj) |
Отправлено: 09:06, 30-09-2010 | #9 |
ИО Капитана Очевидности Сообщения: 5387
|
Профиль | Отправить PM | Цитировать Цитата Hardcore:
Вместо этого для каждого типа данных, указываемых параметром T, создаётся свой код. Для того, чтобы компилятор мог создать этот код, текст шаблона должен быть подключен к тексту модуля. А поскольку подключаются обычно только .h файлы, значит текст функции должен быть реализован не в .cpp, а именно в .h |
|
------- Отправлено: 09:34, 01-10-2010 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - Вопрос по Wi-Fi. | arif84 | Сетевое оборудование | 7 | 26-09-2010 13:58 | |
Разное - [решено] Вопрос | Opal.l | Тест-форум | 2 | 19-04-2010 21:42 | |
Вопрос по ME | ultrakiller | Microsoft Windows 95/98/Me (архив) | 3 | 07-02-2010 05:07 | |
Вопрос о РМ | ALLY | О сайте и форуме | 4 | 18-05-2009 23:44 | |
Вопрос по AD | rattle | Microsoft Windows NT/2000/2003 | 5 | 08-08-2007 16:39 |
|