溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++ Array類在數據結構課程中的實踐

發(fā)布時間:2024-07-19 11:52:05 來源:億速云 閱讀:85 作者:小樊 欄目:編程語言

在數據結構課程中,C++的Array類可以用來實現各種不同的數據結構,比如棧、隊列、堆等。通過自定義Array類,可以更好地理解數據結構的原理和實現方式。

下面是一個簡單的示例,演示如何使用Array類來實現一個棧:

#include <iostream>

template <typename T>
class Array {
private:
    T* data;
    int size;
    int capacity;

public:
    Array(int capacity) {
        this->capacity = capacity;
        this->size = 0;
        this->data = new T[capacity];
    }

    void push(T element) {
        if (size == capacity) {
            std::cout << "Stack is full, cannot push more elements" << std::endl;
            return;
        }
        data[size++] = element;
    }

    T pop() {
        if (size == 0) {
            std::cout << "Stack is empty, cannot pop element" << std::endl;
            exit(1);
        }
        return data[--size];
    }

    T top() {
        if (size == 0) {
            std::cout << "Stack is empty, no element at the top" << std::endl;
            exit(1);
        }
        return data[size-1];
    }

    bool isEmpty() {
        return size == 0;
    }
};

int main() {
    Array<int> stack(5);

    stack.push(1);
    stack.push(2);
    stack.push(3);

    std::cout << "Top element: " << stack.top() << std::endl;

    stack.pop();

    std::cout << "Top element after pop: " << stack.top() << std::endl;

    return 0;
}

通過這個示例,可以看到如何使用Array類來實現一個簡單的棧。在數據結構課程中,可以通過自定義Array類來實踐各種不同的數據結構,加深對數據結構的理解和掌握。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI