TutorialStudyMite

Program to Swap two strings in C++

JJuhi Kamdar2 min read
Beginner friendly

Track completion, mastery, and revision.

There are three tricks through which we swap the strings in C++;

  • Three Character Array Method
  • Three string method
  • Inbuilt swap function
  1. Three Character Array Method

In this method,

  • We copy the contents of the first string to a temporary array.
  • The, we copy the contents of the second array in the first character array.
  • Next, we copy the contents of the temporary array to second character array.

Advantage:

  • We can use this method to reverse the contents of a numeric array too.
  • We do not need to include string library.

Disadvantage:

  • High time complexity due to many loops(due to copying array contents).
  • Very tedious time-consuming.
  1. Three string method

In this method, We use the same technique as above, but we use strings here instead of character arrays.

  • We include the string library, and make three objects of String class.
  • We use the inbuilt function strcpy() and follow the naïve method of swapping.

Code:

#include <iostream>
#include <cstring> //string library
using namespace std;
int main() {
int n; //length of string
cin>>n;
char s1[n];
char s2[n];
char s3[n]; //temporary string
//Input String 1
cin>>s1;
//Input String 2
cin>>s2;
strcpy(s3,s1); //copy contents of s1 in s3
strcpy(s1,s2);  // similar to  s1=s2
strcpy(s2,s3);
cout<<s1<<"\n";
cout<<s2;
return 0;
}

 Advantage:

  • It is faster than the previous method.

Disadvantage:

  • We need to use three strings, which is a waste of memory.
  1. Inbuilt swap function

In this method, we use the inbuilt swap function to perform the task.

  • We include the string library and make two string objects.
  • Then, we make use of swap() function and output the strings.

Code:

#include <iostream>
#include <string>
using namespace std;
int main() {
string str1;

return 0;
}

Advantage:

  • It is the fastest of all.
  • It uses only two strings to execute the task.

Finished reading?

Was this helpful?

Your feedback shapes better tutorials for everyone.