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

обращение к узлу списка - C++

Восстановить пароль Регистрация
 
novak
2 / 2 / 0
Регистрация: 14.04.2011
Сообщений: 141
29.05.2011, 16:05     обращение к узлу списка #1
Напишите примерчик на Си как реализуется обращение к узлу, находящемуся в середине, однонаправленного линейного списка.
Например, нужно обратиться именно к 5 узлу списка. Как это сделать?
Очень нужно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2011, 16:05     обращение к узлу списка
Посмотрите здесь:

C++ Описать функцию, которая определяет, входят ли все элементы первого списка в состав второго списка.
C++ Обращение к определенному элементу списка.
обращение к члену связного списка C++
C++ Удалить из списка все элементы с нечётными значениями и вывести указатель p2 на начало преобразованного списка.
Списки. Функции добавление списка в конец и в середину другого списка. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pito211
 Аватар для pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
29.05.2011, 16:16     обращение к узлу списка #2
есть ссылка на начало списка, а в этой ссылке есть ссылка на next, а у этого next есть свой next... то есть 4 раза надо по этим некстам проследовать и попадёшь на пятый элемент
novak
2 / 2 / 0
Регистрация: 14.04.2011
Сообщений: 141
29.05.2011, 16:53  [ТС]     обращение к узлу списка #3
То есть прогонять например
C
1
q=q->next;
через цикл.
А по-проще никак нет способа? Нет разве функции чтобы вписать в нее 6 и попасть на шестой узел сразу?
pito211
 Аватар для pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
29.05.2011, 16:59     обращение к узлу списка #4
q->next->next->next->next->next если тебя ничего кроме шестого элемента не интерсует то можно и так
novak
2 / 2 / 0
Регистрация: 14.04.2011
Сообщений: 141
29.05.2011, 20:45  [ТС]     обращение к узлу списка #5
В том-то и дело, что мне нужно вызывать узлы, номера которых хранятся в массиве m[i]. И сколько будет этих номеров и какие будут номера заранее не известно.
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
29.05.2011, 21:00     обращение к узлу списка #6
Ну так и напиши функцию, которая принимает в качестве параметров указатель на список, номер элемента и делает в цикле "q=q->next;" нужное количество раз, а затем возвращает указатель на полученный элемент.
По другому никак, на то он и список.

Добавлено через 7 минут
Что-нибудь вроде такого:
C
1
2
3
4
5
6
ListElem* GetElement(ListElem* head, int indx)
{
    while (--indx >= 0 && head != NULL)
        head = head->next;
    return head;
}
Yandex
Объявления
29.05.2011, 21:00     обращение к узлу списка
Ответ Создать тему
Опции темы

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