7. 使用 linked list 實作 stack,運用以下 C 語言程式:

typedef struct node { int value; node *next;}

void push (node **top, int new_value) { // assume top is not null

node new_node = (node ) malloc (sizeof (node));

// (A) 實作以下敘述 (5 分)

// add new_node to stack by top

}

int pop (node **top) { // assume top is not null

int value;

node deleting_node = top;

// (B) 實作以下敘述(5 分)

// remove the deleting node from stack, get the value of deleting node

free(deleting_node);

return value;

}