Loading

链栈

    #include <iostream>
    using namespace std;
    
    typedef struct StackNode {
    	int data;
    	struct StackNode* next;
    }StackNode, * LinkStack;
    
    
    
    int InitStack(LinkStack& S) {
    	S = NULL;
    	return 1;
    }
    
    int Push(LinkStack& S, int e) {
    	LinkStack p;
    	p = new StackNode;
    	p->data = e;
    	p->next = S;
    	S = p;
    	return 1;
    }
    
    int Pop(LinkStack& S, int e) {
    	LinkStack p;
    	e = S->data;
    	p = S;
    	S = S->next;
    	delete p;
    	return 1;
    }
    
    int GetTop(LinkStack& S) {
    	return S->data;
    }
    
    
    int main()
    {
    	LinkStack stack;
    	InitStack(stack);
    	Push(stack, 10);
    	cout << GetTop(stack) << endl;
    	Push(stack, 20);
    	cout << GetTop(stack) << endl;
    	Push(stack, 30);
    	cout << GetTop(stack) << endl;
    }



posted @ 2023-01-18 15:29  qianyuzz  阅读(64)  评论(0)    收藏  举报