您好,登錄后才能下訂單哦!
在數據結構課程中,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類來實踐各種不同的數據結構,加深對數據結構的理解和掌握。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。