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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
novak
2 / 2 / 0
Регистрация: 14.04.2011
Сообщений: 141
#1

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

29.05.2011, 16:05. Просмотров 331. Ответов 5
Метки нет (Все метки)

Напишите примерчик на Си как реализуется обращение к узлу, находящемуся в середине, однонаправленного линейного списка.
Например, нужно обратиться именно к 5 узлу списка. Как это сделать?
Очень нужно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2011, 16:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос обращение к узлу списка (C++):

Обращение к члену связного списка - C++
Прошу помощи в решении Стоит задача обращения к члену связного списка(того списка что выводится на экран файлового менеджера),затем с...

Сортировка эл-ов списка, обращение к элементам - C++
Здравствуйте, мне нужно отсортировать список по алфавиту. Я могу сделать это, если буду сортировать указатели, а как мне сортировать сами...

Обращение к определенному элементу списка. - C++
Сабж. К примеру, имеется список: list <int> L; И есть цикл: list <int>::iterator i; for (i=L.begin() ; i!=L.end() ; i++) {...

Обращение (реверсия) связного списка от элемента n и заканчивая m - C++
Помогите разработать метод класса, в котором будет выполняться обращение связного списка начиная от n-ого элемента и заканчивая элементом m...

Обращение к элементам линейного списка через элементы массива указателей - C++
Вот полная версия программы. Компилятор не выдаёт ошибок, но при выполнении, судя по всему, на строчке 278, при попытке обратится к...

В бинарном дереве найти ближайший путь к заданному узлу - C++
В заданном непустом бинарном дереве найти длину (число ветвей) пути от корня до ближайшей вершины со значением, равным заданному....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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
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
Эксперт С++
1908 / 1440 / 111
Регистрация: 29.05.2011
Сообщений: 2,996
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2011, 21:00
Привет! Вот еще темы с ответами:

Напечатать номера всех узлов заданного графа, соседних по отношению к указанному узлу - C++
Дан неориентированный граф из n узлов и m рёбер. Напечатать номера всех узлов, соседних по отношению к заданному узлу a. Не печатать один ...

Написать код программы, выполняющей растяжку списка и вставку, удаление из списка и сжатие списка - C++
Люди ПОМОГИТЕ осталось совсем мало , мне нужна помощь!!! написать код программ: 1) Написать код программы, выполняющей растяжку...

Реализовать ведение списка забронированных и списка купленных билетов в кинозале кинотеатра - C++
Приветствую! работаю на Builder Borland c++ - программирую таблицы и кнопки такое задание : Реализовать ведение списка забронированных...

Списки. Функции добавление списка в конец и в середину другого списка. - C++
Всем привет!) Я вот написал две функции, 1- добавляется список2 в середину списка1, а 2 - добавляет список2 в конец списка1....когда я...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.05.2011, 21:00
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru