2011-08-11 2 views
-3

Если адрес 8-го элемента в связанном списке целых чисел равен 1022, то каков адрес 9-го элемента и 15-го элемента?Как найти адрес по элементу связанного списка?

Объясните подробно пример!

Я действительно ленив, пожалуйста, сделайте мою домашнюю работу для меня.

Thanx

+1

Вы знаете, как работают связанные списки? Какую часть вы не можете себе представить? –

+7

Хочешь кофе, пока мы работаем для тебя? –

+1

Так что это * вопрос * трюк, не так ли? Или я просто совершенно бесполезен? – Patrick87

ответ

4

Нет никакой связи между адресами элементов связанного списка, каждый элемент может быть расположен в любом месте в памяти. Чтобы найти свой ответ, вы должны пройти список до тех пор, пока не дойдете до девятого или 15-го элемента и не возьмете адрес.

Или, в большинстве языков и реализациях связанного списка, вы можете перейти к 8-му или 14-му стилю и отметить, что значение указателя «следующий элемент» является адресом следующего элемента.

1

Например, у вас есть список ссылок-структура:

typedef struct tag_link { 
    int data; 
    tag_link* next; 
} linked; 

linked* eleventh; // points to 8th element 
int* data_of_nineth = &(eleventh->next->data); // address of data of 9th element of list 
linked* nineth = eleventh->next;    // address of 9th element of list 

Чтобы получить адрес данных в 15-м элемента лучший способ Уолта через next указателей, пока вы не найдете 15-й элемент связанного списка и затем получите адрес того, что вы хотите.

Смежные вопросы