То, что делает программа, позволяет пользователю вводить несколько строк, сохранять их в стеке, а затем выводить все эти строки в стеке, но в обратном порядке и переворачивать.Есть ли более эффективный способ сделать то, что я сделал?Может быть, использовать другую структуру данных (кроме стека)?Я думаю, что стек лучше, потому что строки, хранящиеся в стеках, должны выводиться в том порядке, в котором они были введены.
Вот код:
#include <iostream>
#include <stack>
using namespace std;
int main() {
stack <string> elements;
string element;
cout << "Hello, welcome to Flippy-McBackwardson! \n\n" << endl;
cout << "Please enter a bunch of strings (type END to terminate your list): " << endl;
do {
getline(cin, element);
elements.push(element);
} while (element != "END");
elements.pop();
cout << "\nFlippy Backward Version: " << endl;
for (int x = elements.size()-1; x >= 0; x--){
for (int i = elements.top().length()-1; i >= 0; i--){
cout << elements.top()[i];
}
elements.pop();
cout << endl;
}
return 0;
}