Из одного стека перенести элемент в другой стек - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Как организуется стек(и)? Каким образом можно из одного стека перенести в другой стек элемент?

Решение задачи: «Из одного стека перенести элемент в другой стек»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
typedef struct node_t
{
   int value;
   struct node_t* next;
}  TNode;
 
//-----------------------------------------------------------------------------
TNode* Push(TNode** stack, int value)
{
   TNode* node = (TNode*) malloc(sizeof(TNode));
   node->value = value;
   node->next = *stack;
   *stack = node;
 
   return *stack;
}
//-----------------------------------------------------------------------------
int Pop(TNode** stack)
{
   TNode* node = *stack;
   *stack = node->next;
   int value = node->value;
   free(node);
 
   return value;
}
//-----------------------------------------------------------------------------
int IsEmpty(const TNode* stack)
{
   return (stack == NULL);
}
//-----------------------------------------------------------------------------
 
int main()
{
   TNode* stack = NULL;
   int i;
 
   for (i = 0; i < 10; ++i)
   {
      Push(&stack, i + 1);
   }
 
   while (!IsEmpty(stack))
   {
      printf("%d ", Pop(&stack));
   }
   printf("\n");
 
   system("pause");
   return 0;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5
Похожие ответы