zoukankan      html  css  js  c++  java
  • 用单链表实现栈及操作

    包括:栈建立;入栈;出栈;打印栈;

    构造节点:

    #define SLen (sizeof(struct stu))
    
    typedef struct stu
    {
    	int a;
    	struct stu *next;	
    }*Stack;

    栈的建立:

    /*
    	建立栈 
    */
    Stack create()
    {
    	Stack p=(Stack)malloc(SLen);
    	if(p==NULL)
    	{
    			printf("No Enough Space
    ");
    			return NULL;
    	}
    	else
    	{
    			p->next=NULL;
    	}		
    	return p;
    }
    

    入栈操作:

    /*
    	入栈函数 
    */
    void push(int x,Stack s)
    {
    	Stack p=(Stack)malloc(SLen); 
    	if(s==NULL)
    	{
    		printf("Stack Error");
    	}
    	else
    	{
    		p->a=x;
    		p->next=s->next;
    		s->next=p;	 
    	} 
    }
    

    出栈操作:

    /*
    	出栈函数 
    */ 
    void pop(Stack s)
    {
    	Stack p=s->next->next;
    	free(s->next);
    	s->next=p;		
    } 
    

    打印栈数据

    /*
    	打印输出函数 
    */
    void printfStack(Stack s)
    {
    	Stack p=s->next;
    	int i=0; 
    	while(p!=NULL)
    	{
    		i++;
    		printf("第%d个元素:%d
    ",i,p->a);
    		p=p->next;
    	} 
    }
    

     

  • 相关阅读:
    公共控件
    winform 窗口 属性
    ADO
    笔记备忘
    常识 备忘
    Symbol
    Promise
    定义类 属性 方法 执行
    x is string str ======x is string 变量名
    ManualResetEvent多线程进行,全部完成后,回调
  • 原文地址:https://www.cnblogs.com/achao123456/p/6283885.html
Copyright © 2011-2022 走看看