/* * Use the recursion and the stack ADT to reverse a list of characters */ #include #include "C6-StackA.h" using namespace std; void revStack(string str); void revRecursion(string str, int index); int main() { string str; cout << "Enter a string of characters: "; cin >> str; // Check for empty string if(str.length() == 0) return 0; // Reverse using recursion cout << "Using recursion, the reverse string is: "; revRecursion(str, 0); cout << endl; // Reverse using Stack ADT cout << "Using stack ADT, the reverse string is: "; revStack(str); cout << endl; return 0; } /* * Recursive routine to reverse string */ void revRecursion(string str, int index) { if(index < str.length()) revRecursion(str, index+1); cout << str[index]; } /* * Use stack to reverse string */ void revStack(string str) { Stack stklist; char c; // push each character on the LIFO stack for(int i=0 ; i