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

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

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

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

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

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

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

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

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

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

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

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

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

Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. - C++
Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. Сначала в...

Добавить в конец списка L1 все элементы списка L2 - C++
Разработать программу обработки односвязных линейных списков с числом элементов в списке не менее пяти в соответствии с индивидуальным...

Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. Сначала в программе должен - C++
Вывести на экран все записи товаров, определенного ценового диапазона. Ценовой диапазон указывается пользователем. ТОВАР: наименование...

Используя производные классы, определить класс параметризованного списка одного из следующих типов. Применить его для построения списка объектов указа - C++
Используя производные классы, определить класс параметризованного упорядоченного списка. Применить его для построения упорядоченного...

Списки. Как создать одновременно 2 списка? Как из второго списка поместить элементы в первый? - C++
2 самых главных вопроса: как создать одновременно 2 списка? как из второго списка поместить элементы в первый? Вообще нигде не могу...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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 / 110
Регистрация: 29.05.2011
Сообщений: 2,995
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     обращение к узлу списка
Ответ Создать тему
Опции темы

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