Помогите описать алгоритм программы на простом языке

Нужно описать алгоритм работы программы, что делает каждая функция и т.д. Заранее спасибо

#include<iostream>

using namespace std;

struct List
{
  char symbol;
  List* next;
};

void AddSymbol(List*& list, char new_symbol)
{
  List* new_element = 0;
  if (list)
  {
    List* last = list->next;
    List* prev = list;
    while (last)
    {
      prev = last;
      last = last->next;
    }
    prev->next = new List;
    new_element = prev->next;
  }
  else
  {
    list = new List;
    new_element = list;
  }
  new_element->next = 0;
  new_element->symbol = new_symbol;
}

void PrintList(const List* list)
{
  while (list)
  {
    cout << list->symbol << endl;
    list = list->next;
  }
}
void FreeList(List*& list)
{
  if (!list)
    return;
  List* prev = list;
  while (list)
  {
    list = list->next;
    delete prev;
    prev = list;
  }

  list = 0;
}

int main()
{
  setlocale(LC_ALL, "Rus");

  List* list = 0;
  AddSymbol(list, 'а');
  AddSymbol(list, 'б');
  PrintList(list);
  FreeList(list);

  system("pause");
  return 0;
}

Ответы (0 шт):