Re[3]: Проблемы с рекурсией в Си
От: Radich  
Дата: 11.03.03 16:09
Оценка:
Здравствуйте, Владик, Вы писали:

В>Здравствуйте, Radich, Вы писали:


R>>А вообще, я бы не мучился и написал так:


R>>
R>>void revers(char *str,int len)
R>>{
R>>    char* szTemp = new char[len];

В>А delete кто делать будет? И, главное, нафига здесь вообще дополнительные буфера?

В>[ccode]
В>void revers(char *str,int len)
В>{
В>    for (int i = 0; i < len/2; i++)
В>    {
В>     char swp=str[i];
В>          str[i] = str[len-i-1];
В>          str[len-i-1]=swp;
В>    }
В>}
В>


delete — согласен, забыл. Вообще-то всего-навсего показать то, что рекурсия тут ни к чему, а не продемонстрировать супер-правильный и супер-эффективный код.
А вот на счет буффера — ваше замечание совершенно безосновательное.
Т.к. вся выгода от отсутствия буффера с лихвой компенсируется тем, что у вас в цикле 3 операции вместо 1 у меня.

P.S. Да... Билдеровский форум — это что-то....
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.