c_cpp Stack - C ++中的数组实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp Stack - C ++中的数组实现相关的知识,希望对你有一定的参考价值。

/* Stack - Array Implementation */
/* Language: C++                */
/* Created By: Harish R         */

#include<iostream>
#define MAX 10

using namespace std;

class Stack
{
    int tos;
    int stack_array[MAX];
    bool isEmpty()
    {
        return tos == -1;
    }
    bool isFull()
    {
        return tos == MAX-1;
    }
public:
    Stack()
    {
        tos = -1;
    }

    void push(int x)
    {
        if(!isFull())
        {
            stack_array[++tos] = x;
        }
        else
            cout << "Stack is Full!" << endl;
    }

    void pop()
    {
        if(!isEmpty())
        {
            tos--;
        }
        else
            cout << "Stack is Empty!" << endl;
    }

    void find(int x)
    {
        int flag = 0;
        if(!isEmpty())
        {
            for(int i=0;i<=tos;i++)
            {
                if(stack_array[i] == x)
                {
                    cout << "Found at position: " << i << endl;
                    flag = 1;
                    break;
                }
            }
            if(flag == 0)
                cout << "Number not found!" << endl;
        }
        else
            cout << "Stack is Empty!" << endl;
    }

    void display()
    {
        if(!isEmpty())
        {
            for(int i=0;i<=tos;i++)
                cout << stack_array[i] << " ";
            cout << endl;
        }
        else
            cout << "Stack is Empty!" << endl;
    }
};

int main()
{
    Stack s;
    s.push(15);
    s.push(25);
    s.push(35);
    s.push(45);
    s.push(55);
    s.display();
    s.find(35);
    s.find(65);
    s.pop();
    s.display();
    s.pop();
    s.display();
}

以上是关于c_cpp Stack - C ++中的数组实现的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp C ++中的队列数组实现

c_cpp 二维数组中的查找.C

c_cpp C ++中的通用容器可迭代数组类

c_cpp C ++中一个类中的多个大小的数组

c_cpp 允许通过C中的void指针从任何类型访问字节数组

c_cpp 数组中的第二大数字