Sorting Strings using Bubble Sort

21 Jan, 2022
Given an array of strings arr[]. Sort given strings using Bubble Sort and display the sorted array.
In Bubble Sort, the two successive strings arr[i] and arr[i+1] are exchanged whenever arr[i]> arr[i+1]. The larger values sink to the bottom and hence called sinking sort. At the end of each pass, smaller values gradually “bubble” their way upward to the top and hence called bubble sort.
  
After all the passes, we get all the strings in sorted order. Complexity of the above algorithm will be O(N2).
 
Let us look at the code snippet:
 
C++
Java
C#
// C++ implementation #include<bits/stdc++.h>using namespace std;#define MAX 100 void sortStrings(char arr[][MAX], int n){    char temp[MAX];     // Sorting strings using bubble sort    for (int i=0; i<n-1; i++)    {        for (int j=0; j<n-1-i; j++)        {            if (strcmp(arr[j], arr[j+1]) > 0)            {                strcpy(temp, arr[j]);                strcpy(arr[j], arr[j+1]);                strcpy(arr[j+1], temp);            }        }    }} int main(){    char arr[][MAX] = {"GeeksforGeeks","Quiz","Practice","Gblogs","Coding"};    int n = sizeof(arr)/sizeof(arr[0]);     sortStrings(arr, n);     printf("Strings in sorted order are : ");    for (int i=0; i<n; i++)        printf("\n String %d is %s", i+1, arr[i]);    return 0;}
// Java implementationclass GFG{     static int MAX = 100;     public static void sortStrings(String[] arr, int n)    {        String temp;         // Sorting strings using bubble sort        for (int j = 0; j < n - 1; j++)        {            for (int i = j + 1; i < n; i++)            {                if (arr[j].compareTo(arr[i]) > 0)                {                    temp = arr[j];                    arr[j] = arr[i];                    arr[i] = temp;                }            }        }    }     // Driver code    public static void main(String[] args)    {        String[] arr = { "GeeksforGeeks", "Quiz",                        "Practice", "Gblogs", "Coding" };        int n = arr.length;        sortStrings(arr, n);        System.out.println("Strings in sorted order are : ");        for (int i = 0; i < n; i++)            System.out.println("String " + (i + 1) + " is " + arr[i]);    }} // This code is contributed by// sanjeev2552
// C# implementationusing System;     class GFG{    static int MAX = 100;     public static void sortStrings(String[] arr,                                   int n)    {        String temp;         // Sorting strings using bubble sort        for (int j = 0; j < n - 1; j++)        {            for (int i = j + 1; i < n; i++)            {                if (arr[j].CompareTo(arr[i]) > 0)                {                    temp = arr[j];                    arr[j] = arr[i];                    arr[i] = temp;                }            }        }    }     // Driver code    public static void Main(String[] args)    {        String[] arr = {"GeeksforGeeks", "Quiz",                        "Practice", "Gblogs", "Coding"};        int n = arr.Length;        sortStrings(arr, n);        Console.WriteLine("Strings in sorted order are : ");        for (int i = 0; i < n; i++)            Console.WriteLine("String " + (i + 1) +                              " is " + arr[i]);    }} // This code is contributed by Princi Singh
Output:  
Strings in sorted order are : 

 String 1 is Coding

 String 2 is Gblogs

 String 3 is GeeksforGeeks

 String 4 is Practice

 String 5 is Quiz
This article is contributed by Rahul Agrawal. If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above 
sanjeev2552
princi singh
defaultacc
Sorting
Sorting
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Chocolate Distribution Problem
Sort a nearly sorted (or K sorted) array
Longest Common Prefix using Sorting
Segregate 0s and 1s in an array
Find whether an array is subset of another array
Sorting in Java
Find all triplets with zero sum
Quickselect Algorithm
Find a pair with the given difference
Quick Sort vs Merge Sort