Pages

Wednesday, 8 June 2011

Reverse a string in place.


// Reverse a string in place.
void revstr(char *str) {
int i, j;
char t;
for(i = 0, j = strlen(str)-1; i < j; ++i, --j) {
// Exchange corresponding characters, front to back.
t = str[i];
str[i] = str[j];
str[j] = t;
}
}

The following program shows revstr( ) in action:
// Reverse a string in place.
#include <iostream>
#include <cstring>
using namespace std;
void revstr(char *str);
int main() {
char str[] = "abcdefghijklmnopqrstuvwxyz";
cout << "Original string: " << str << endl;
revstr(str);
cout << "Reversed string: " << str << endl;
return 0;
}
// Reverse a string in place.
void revstr(char *str) {
int i, j;
char t;
for(i = 0, j = strlen(str)-1; i < j; ++i, --j) {
t = str[i];
str[i] = str[j];
str[j] = t;
}
}
The output is shown here:
Original string: abcdefghijklmnopqrstuvwxyz
Reversed string: zyxwvutsrqponmlkjihgfedcba

0 comments:

Post a Comment

Search This Blog