forked from narnolii/java-DSA
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMerge_sort.java
More file actions
59 lines (40 loc) · 1 KB
/
Merge_sort.java
File metadata and controls
59 lines (40 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
class merge_sort {
static void concure(int a[] , int first ,int mid, int last){
int arr[] = new int[first-last+1];
int i =first;
int j = last;
int x=0;
while(i<=mid && mid<=j){
if(a[i]<=a[mid]){
arr[x++] = a[i++];
}else{
arr[x++] = a[j--];
}
}
while(i<=mid){
arr[x++] = a[i++];
}
while(mid<=j){
arr[x++] = a[j--];
}
for(int q=0; int p=first; q< arr.length; q++; p++){
a[p] = arr[q];
}
}
public static void divide(int a[] , int first , int last){
if(first>=last){
return;
}
int mid = (last-first)/2;
divide(a[] , first , mid);
divide(a[] , mid+1 , last);
concure(a[] , first , mid , last);
}
public static void main(Static[] args){
int a[] ={5,2,8,34,1,8};
merge(a ,0, a.length-1);
for(int i=0;i<a.length;i++){
System.out.println("sorted arraty is:"+a[i]);
}
}
}