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

функция для нахождения длины связного списка - C++

Восстановить пароль Регистрация
 
paralel
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 7
02.02.2013, 23:30     функция для нахождения длины связного списка #1
Помогите написать функцию для нахождения длины связного списка. реализуйте функцию
итеративно и рекурсивно. getLength (NULL) должен возвращать 0.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class List
{
public:
int value;
List* next;
};
int getLength(List* list)
{
...
}
 
int main()
{
List* list = new List();
list->next = new List();
list->next->next = new List();
list->next->next->next = new List();
int length = getLength(list); // should be 4
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2013, 23:30     функция для нахождения длины связного списка
Посмотрите здесь:

C++ Реализация связного списка
обращение к члену связного списка C++
C++ Шаблон класса Node для узла связного списка
Сортировка связного списка C++
C++ сортировка связного списка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
03.02.2013, 00:34     функция для нахождения длины связного списка #2
C++
1
2
3
4
5
6
7
8
9
int getLength(List *list)  {
int count = 0;
List *temp = list;
while(temp)  {
count++;
temp = temp->next;
}
return count;
}
Добавлено через 10 минут
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
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
using namespace std;
 
class List  {
public:
    int value;
    List* next;
};
 
int getLength(List* list, bool param)  {
    List *temp = list;
    int count = 0;
    while(temp)  {
        count++;
        temp = temp->next;
    }
    return count;
}
 
int getLength(List *list)  {
    if(list == NULL)
        return 0;
    else
        return getLength(list->next) + 1;
}
 
int main()  {
    List* list = new List();
    list->next = new List();
    list->next->next = new List();
    list->next->next->next = new List();
    int length1 = getLength(list); // recursive
    int length2 = getLength(list, true); // iterative
    cout << length1 << endl;
    cout << length2 << endl;
    return 0;
}
paralel
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 7
03.02.2013, 00:54  [ТС]     функция для нахождения длины связного списка #3
Да большоє тебє спасибо не хочешь меня научить?а то я только почал изучать C++...
m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
03.02.2013, 03:10     функция для нахождения длины связного списка #4
Цитата Сообщение от paralel Посмотреть сообщение
Да большоє тебє спасибо не хочешь меня научить?а то я только почал изучать C++...
Есть вопросы, задавай. Для этого форум и существует. Тут можно и спросить, и самому помочь кому то.
Решай задачи. Чем больше разберешь чужих, тем понятнее будет решать свои.
Чем больше у тебя возникает вопросов, тем быстрее научишься, если конечно ты будешь понимать ответы на эти вопросы
Yandex
Объявления
03.02.2013, 03:10     функция для нахождения длины связного списка
Ответ Создать тему
Опции темы

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