我是新來的C++,只是學習堆棧推送和彈出操作。我寫了一個小程序來推送和彈出堆棧中的某些元素。我的示例程序如下:二維矩陣的push和pop操作並在C++中顯示它們
// stack::push/pop
#include <iostream> // std::cout
#include <stack> // std::stack
int main()
{
std::stack<int> mystack;
for (int i=0; i<5; ++i) mystack.push(i);
std::cout << "Popping out elements...";
while (!mystack.empty())
{
std::cout << ' ' << mystack.top();
mystack.pop();
}
std::cout << '\n';
return 0;
}
但現在我想要把多個3×3的矩陣壓入堆棧,想用mystack.top(),以獲得他們每個人也使用mystack.pop彈出每個矩陣操作並顯示整個矩陣。我將如何實現多矩陣操作的堆棧?
樣品基體可以是這樣的:
float A[3][3]={{1.0,2.0,3.0},{1.0,2.0,3.0},{1.0,2.0,3.0}};
float B[3][3]={{1.0,2.0,4.0},{1.0,5.0,3.0},{8.0,2.0,3.0}};
因此,您只需使用一些數據結構來表示3x3矩陣,而不是'int'作爲'std :: stack'的模板參數。 –
聽起來像你需要做一個矩陣類。 – NathanOliver
將存儲在堆棧中的類型更改爲您的矩陣類型。 – Rob