Форум программистов, компьютерный форум CyberForum.ru

Обход массива рекурсией - C++

Восстановить пароль Регистрация
 
tinne
9 / 9 / 0
Регистрация: 13.10.2012
Сообщений: 279
04.12.2012, 17:10     Обход массива рекурсией #1
Вот написал обход с помощью цикла. Как обойти массив с помощью рекурсии?
C++
1
2
3
4
5
6
7
8
9
10
11
12
int Size(set *a)
{
    set *it;
    int i = 0;
    if(first == NULL)
        return 0;
    it = first;
    while (it != NULL){
        i++;
        it = it->next;
    }
}
Set это у нас структура.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
struct set
{
    int data;
    char *name;
    set *next;
};
 
//Создаем объект
void Create (int a1, char *b1)
{
    set *a;
    a = new set;
    a->data = a1;
    a->name = b1;
    a->next = NULL;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2012, 17:10     Обход массива рекурсией
Посмотрите здесь:

C++ обход массива рендом.
с++ с рекурсией C++
C++ рекурсивный обход двумерного массива
Поиск максимального элемента одномерного массива (рекурсией) C++
C++ Не получается с рекурсией
C++ Бинарное с рекурсией
C++ Почему не работает обход массива?
Разница между понятиями "Обход в прямом направлении" и "Итерационный прямой обход" C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Issues
429 / 364 / 37
Регистрация: 06.08.2012
Сообщений: 961
04.12.2012, 17:33     Обход массива рекурсией #2
Вот например вывод:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
using namespace std;
 
void Print(int[], const int, int);
 
int main()
{
    const int sz = 5;
    int arr[sz] = {1, 2, 3, 4, 5};
    int ii = 0;
    
    Print(arr, sz, ii);
    
    system("PAUSE");
    return 0;
}
 
void Print(int arr[], const int size, int i)
{
    if (i < size)
    {
        cout << arr[i] << ' ';
        Print(arr, size, i+1);
    }
}
Yandex
Объявления
04.12.2012, 17:33     Обход массива рекурсией
Ответ Создать тему
Опции темы

Текущее время: 13:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru