From e7d8f8da8cbd3956b29ea589ba4e5b8bf9ef089f Mon Sep 17 00:00:00 2001 From: umesharora18 <83842157+umesharora18@users.noreply.github.com> Date: Thu, 13 Oct 2022 02:09:28 +0530 Subject: [PATCH] Create StringMergeSort --- StringMergeSort | 69 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 StringMergeSort diff --git a/StringMergeSort b/StringMergeSort new file mode 100644 index 0000000..93e31a8 --- /dev/null +++ b/StringMergeSort @@ -0,0 +1,69 @@ +public class StringMergeSort +{ + + public static void sort(String n[],int si,int ei) + { + + int mid= si+(ei-si)/2; + if(si>=ei)//base case + { + return; + } + sort(n,si,mid);//left part + sort(n,mid+1,ei);//right part + merge(n,si,mid,ei); + + } + public static void merge(String n[],int si,int mid,int ei) + { + String m[]=new String[ei-si+1];//temp array + int i=si;//iterator for left part + + int j=mid+1;//iterator for right part + int k=0; + + while(i<=mid&& j<=ei) + { + if(n[i].compareTo(n[j])<0) + { + m[k]=n[i]; + i++; + k++; + } + else + { + m[k]=n[j]; + j++; + k++; + } + } + while(i<=mid)//for leftout elements of left side + { + m[k++]=n[i++]; + } + while(j<=ei)//for leftout elements of right side + { + m[k++]=n[j++]; + } + for(k=0,i=si;k