Узел в связанном списке с языком C - PullRequest
0 голосов
/ 24 февраля 2019

Я начинаю изучать связанный список, поэтому мой вопрос может быть глупым: с.Я заметил, что во всех упражнениях они принимают только один элемент данных в узле (как показано ниже: int data). Поэтому я спрашиваю, можем ли мы определить несколько элементов данных в одном узле. Иначе почему бы и нет?

#include <stdio.h>
#include <stdlib.h>

struct node {
    int data;
    struct node* nextptr;
};

struct node* BuildList()
{
  /* initialize node's pointers */
  struct node* head = NULL;
  struct node* second = NULL;
  struct node* third = NULL;
  /* allocate three nodes in the heap*/
  head = malloc(sizeof(struct node));
  second = malloc(sizeof(struct node));
  third = malloc(sizeof(struct node));
  /* setup first node */
  head->data = 1;
  head->nextptr = second;

  second->data = 2;
  second->nextptr = third;
  third->data =3;
  third->nextptr = NULL;

  return head;
}

1 Ответ

0 голосов
/ 24 февраля 2019

Да, int просто упростите примеры.Но в реальной жизни узел будет чем-то более полезным.Пример:

struct chair {
    int nr_or_legs;
    int weight_in_kg;
    int height_in_cm;
};

struct chair_node {
    struct chair data;
    struct chair_node* nextptr;
};

или просто:

struct chair_node {
    int nr_or_legs;
    int weight_in_kg;
    int height_in_cm;
    struct chair_node* nextptr;
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...