good job but how can this be done in one traversal as asked on the Adobe Interview Questions thread<https://groups.google.com/forum/#%21msg/algogeeks/oEL8z4wwMJY/FAVdr2McPqIJ> .
On Wed, Jul 6, 2011 at 9:49 PM, Navneet Gupta <navneetn...@gmail.com> wrote: > I think somebody on this thread has asked this question but i am not > able to find that. > > Question was if a string is like "my name is ram", then output should > be "ram is name my". > > Wrote the code for same, so sharing. > > #include<iostream> > #include<string> > using namespace std; > > void SwapStringChars(string &str, int pos1, int pos2) > { > char ch = str[pos1]; > str[pos1] = str[pos2]; > str[pos2] = ch; > } > > void reverseString(string &str, int left, int right) > { > for(int i = left ; i <= left + (right-left)/2 ; i++) > SwapStringChars(str, i, right + left -i)); > } > > void reverseWordsInString(string &str) > { > char space = ' '; > int len = str.length(); > int startIndex = 0, endIndex = 0; > while(endIndex < len - 1) > { > while(str[endIndex] != space && endIndex < len)endIndex++; > reverseString(str, startIndex, endIndex-1); > startIndex = endIndex; > while(str[startIndex] == space)startIndex++; > endIndex = startIndex; > } > } > > int main() > { > string str; > cout<<"\nEnter enter the string :"; > getline(cin,str); > > //Reverse whole string at once > reverseString(str, 0, str.length() - 1); > > //Reverse Individual words in string > reverseWordsInString(str); > cout<<str; > cin.get(); > return 0; > } > > -- > Regards, > Navneet > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to algogeeks@googlegroups.com. > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > > -- Tushar Bindal Computer Engineering Delhi College of Engineering Mob: +919818442705 E-Mail : tushicom...@gmail.com Website: www.jugadengg.com -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.