.: [предыдущая | оглавление | следующая] :.

8.1 Линейный одно-связанный список

  1. Описание элемента списка:
    struct Link
    {
          struct Link *next;
          int data;
    };
  2. Описание заголовка списка:
    struct SimpleList
    {
          struct Link *first;
          int len;
    };
  3. Функция инициализации списка:
    void InitSimpleList(struct SimpleList *list)
    {
          list->first=NULL;
          list->len=0;
    }
  4. Функция вставки нового элемента данных в список:
    void AddSimpleList(struct SimpleList *list, int data)
    {
          struct Link *link=(struct Link*)malloc(sizeof(struct Link));
          link->data=data;
          link->next=list->first;
          list->first=link;
          list->len++;
    }
  5. Функция печати списка
    void PrintSimpleList(struct SimpleList *list)
    {
          struct Link *link;
          printf("++PrintList++\n");
          for(link=list->first; link!=NULL; link=link->next)
          printf("%d",link->data);
          printf("\n");
    }
//Пример использования списка
void main()
{
      struct SimpleList Numbers;
      InitSimpleList(&Numbers);
      AddSimpleList(&Numbers,100);
      AddSimpleList(&Numbers,70);
      AddSimpleList(&Numbers,500);
      AddSimpleList(&Numbers,10000);
      AddSimpleList(&Numbers,2200);
      PrintSimpleList(&Numbers);
      getch();
}
.: [предыдущая | оглавление | следующая] :.