Я создал свой стек, используя связанный список.Но я думаю, что это неправильно.мой метод push связывает Stack1 с другими стеками.Итак, я думаю, что это похоже на ...
In my main function,
push(stack1, 10);
push(stack1, 20);
[Stack1] -> [nextStack]
[Stack1] -> [nextStack] (new address from first nextStack)
Итак, это как ... Я повторяю снова и снова связывать stack1 с другими стеками ...
это мойстек, используя приведенный ниже код списка.
#include <stdio.h>
#include <stdlib.h>
typedef struct{
int data;
struct stack *top;
}stack;
void push(stack *currentStack, int data){
if (currentStack->top == NULL)
fprintf(stderr, "Stack is emtpy");
else{
stack *nextStack = (stack*)malloc(sizeof(stack));
currentStack->data = data;
currentStack->top = nextStack;
printf("currentStack is %d\n", currentStack->data);
}
}
int main(){
stack* stack1;
stack1 = (stack*)malloc(sizeof(stack));
push(stack1, 10);
push(stack1, 20);
return 1;
}
, и это результат моего кода.
currentStack is 10
currentStack is 20