zoukankan      html  css  js  c++  java
  • 课程作业五

    第五次课程作业

    四则运算类的实现Github链接

    关于栈的学习

    栈的定义:

    限定仅在表尾进行插入和删除操作的线性表,允许插入和删除操作的一端称为栈顶,另一端称为栈底,不含元素的空表称为空栈。

    栈的主要操作
    栈的定义:
    class Stack
    {
    		int array[10];
    		int top;
    	public:
    		Stack()
    		{
    			top=-1;
    		}	
    		bool isEmpty();
    		void push(int item);
    		int pop();
    };
    
    1.入栈:栈的插入操作,通常命名为push
    void Stack::push(int item)
    {
    	top++;
    	if(top<10)
    	{
    		array[top]=item;
    	}
    	else cout<<"Stack Full"<<endl;
    }
    
    2.出栈:栈的删除操作,通常命名为pop
    int Stack::pop()
    {
    	if(isEmpty())
    	{
    		cout<<"Stack Is Empty"<<endl;
    		return 0;
    	}
    	else
    	{
    		int data=array[top];
    		top--;
    		return data;
    	}
    }
    
    3.求栈的大小
    int Stack::size()
    {
    	return top+1;
    }
    
    4.判断栈是否为空
    bool Stack::isEmpty()
    {
    	if(top==-1) return true;
    	else return false;
    }
    
    栈的存储结构
    1.顺序栈:一般用一个一维数组和一个栈顶指针来实现
    2.链栈:栈的链式存储结构,可以用单链表实现
  • 相关阅读:
    进程和线程
    关于offer对比
    CVTE面经
    重定向
    奇虎360面试经验
    百纳信息(海豚浏览器)面经
    携程网面经
    百度面经
    位运算
    Cracking the Coding Interview 4.8
  • 原文地址:https://www.cnblogs.com/liao-yp/p/6905935.html
Copyright © 2011-2022 走看看