Вопрос о связанном списке в структуре данных (на языке C) скажем, у меня есть 4 элемента в списке, и это похоже на (адрес) [данные | указатель на следующий блок]
вот так (252) [5 | 272] -> (272) [8 | 286] -> (286) [11 | 296] -> (296) [15 | NULL]
struct node
{
int data;
struct node* next;
};
struct node* head; //global variable
Вот вопрос о Arrow Control , если я хочу перейти к 4-му элементу из головы, могу ли я так сказать?
(252) [5 | 272] -> (272) [8 | 286] -> (286) [11 | 296] -> (296) [15 | NULL] --- X
// let's suppose I stored 1st element in a variable and already linked them together
struct node* temp1 = (struct node*) malloc(sizeof(struct node*));
temp1->data = 5;
temp1->next = 272;
.
.
.
Могу ли я сказать, что
temp1->next; // value is 272
temp1->next->data; // data is 8
temp1->next->next; // value is 286
temp1->next->next->data; //data is 11
temp1->next->next->next; // value is 296
temp1->next->next->next->data; // value is 15
temp1->next->next->next->next; // value is NULL
Могу ли я использовать несколько стрелок для прямого перехода по связанному списку вместо использования l oop?