数据结构_栈的相关操作

来源:互联网 发布:手机开不了淘宝店铺 编辑:程序博客网 时间:2024/06/05 19:00

#include<iostream>

using namespace std;

#include<cstdlib>
typedef int ElemType;
typedef struct LNode
{
        ElemType data;
        struct LNode *next;
}LNode;




void InitStack(LNode *&S)//初始化 
{
     S=new LNode;
     S->data = 0;
     S->next = NULL;
}




void Push(LNode *S, ElemType e)//入栈(压栈) 
{
     
     LNode *p = new LNode;
     p->data = e;
     p->next = S->next;
     S->next = p;


}






void Pop (LNode *S,ElemType &e)//出栈 
{
     LNode *p = S->next;
     if(NULL != p)
     {
             e = p->data;
             S->next = p->next;
             free(p);
             p = NULL;
     }


}


void PrintStack(LNode *S)
{
     LNode *p = S->next;
     while(NULL != p)
     {
                cout<<p->data<<"\n";
                p = p->next;
     }
}
int main()
{
    const int N = 10;
    LNode *S = NULL;
    InitStack(S);
    for(int i=0;i<N;++i)
    {
            Push(S,i+1);
            
    }
    PrintStack(S);
    system("pause");
    return 0;
}


     }
}
int main(void)
{
    int A[]={1,3,5,7,9,2,4,6,8,10};
    
    Sort(A,5,10);//将数组A的前五个元素与后五个元素升序排序, 
    Show(A,10);
    system("pause");
    return 0;
}

0 0
原创粉丝点击