Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Вопрос на кругозор

Ответить
Настройки темы
C/C++ - Вопрос на кругозор

Новый участник


Сообщения: 43
Благодарности: 0

Профиль | Отправить PM | Цитировать


Можете наглядно объеснить как можно написать merge sort алгаритом с коментами.
Хотел сам по гуглить но нечего не опнятно.

Отправлено: 16:19, 29-09-2010

 

Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Цитата Hardcore:
Хотел сам по гуглить »
Что помешало?
Сортировка_слиянием

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 17:29, 29-09-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 43
Благодарности: 0

Профиль | Отправить PM | Цитировать


Там были примеры, но без коментов. Я ничего не понял. Я хотел по просить кого нить чтоб он написал код с понятными коментами.
LxA 85, можешь написать и всё подробно расписать?

Отправлено: 21:48, 29-09-2010 | #3


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Hardcore, ты по ссылкам в статье в Википедии ходил? Там в картинках с примерами. Псевдокод и т.д.
Или тебе не понятен смысл и суть алгоритма?

Как бы сказать... Что именно ты хочешь узнать? Понимаешь, твой вопрос сейчас звучит в очень широком смысле. И поэтому, как и каждого не определившегося, тебя посылают изучать литературу. Когда у тебя появится базис, ты уже сможешь задать более конкретный вопрос. И уже будет видно, что человек что-то искал, копал, старался. Т.е. уже можно с ним о чем то поговорить.
Поэтому без обид, но пока тебе придется дальше изучать примеры в википедии. С листком бумаги, с собственными примерами входных данных. Пройти алгоритм "по шагам" в ручную.

P.S. Сразу скажу, никаких кодов С++ я писать не буду. Псевдокод в лучшем случае.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 22:30, 29-09-2010 | #4


Новый участник


Сообщения: 43
Благодарности: 0

Профиль | Отправить 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


Аватара для Hector

Misanthrope


Сообщения: 474
Благодарности: 38

Профиль | Отправить PM | Цитировать


а компилятор что говорит?

-------
Information must be free!
Нет границ, есть только препятствия


Отправлено: 00:17, 30-09-2010 | #6


Новый участник


Сообщения: 43
Благодарности: 0

Профиль | Отправить PM | Цитировать


Выводит Error(

Отправлено: 08:03, 30-09-2010 | #7


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


где блок main ?
где реализация функций merge? (или она стандартная, встроенная)
Цитата Hardcore:
Выводит Error( »
Какой именно Error?

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 08:32, 30-09-2010 | #8


Новый участник


Сообщения: 43
Благодарности: 0

Профиль | Отправить 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


ИО Капитана Очевидности


Contributor


Сообщения: 5387
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Цитата Hardcore:
Error 2 error LNK1120: »
Поскольку указанная функция есть шаблон, то она сама по себе не комплируется.
Вместо этого для каждого типа данных, указываемых параметром T, создаётся свой код.
Для того, чтобы компилятор мог создать этот код, текст шаблона должен быть подключен к тексту модуля. А поскольку подключаются обычно только .h файлы, значит текст функции должен быть реализован не в .cpp, а именно в .h

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.


Отправлено: 09:34, 01-10-2010 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Вопрос на кругозор

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочее - Вопрос по 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




 
Переход