Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- exiting abnormally
- 오라클 병렬처리
- 리덕스
- 애그리거트
- paraller
- VUE
- vue.js
- 리덕스 공식문서
- 자바
- react
- $emit()
- 자료구조
- 도커빌드
- 네임드 뷰
- EBS
- 트리 회전
- rabbitmq 에러
- Express
- 리액트
- Java Reflextion API
- quert
- 컴포넌트 주도
- ACCESS_REFUSED
- REDIS
- 커스텀 로그인
- .getClass()
- 오라클
- forNmae()
- redux
- AWS
Archives
- Today
- Total
개발정리
자바_병합정렬 본문
class MergeSort{
int[] preorder;
void mergeSort(int[] arr) {
this.preorder=new int[arr.length];
merge(arr,0,arr.length-1);
}
private void merge(int[] arr,int start,int end) {
if(start==end) {
return;
}
int mid=(start+end)/2;
merge(arr,start,mid);
merge(arr,mid+1,end);
int i=start;
int j=mid+1;
int idx=start;
while(i!=mid+1 && j!=end+1) {
if(arr[i]<arr[j]) {
preorder[idx++]=arr[i];
i++;
}
else {
preorder[idx++]=arr[j];
j++;
}
}
if(i==mid+1) {
while(j!=end+1) {
preorder[idx++]=arr[j];
j++;
}
}
else {
while(i!=mid+1) {
preorder[idx++]=arr[i];
i++;
}
}
for(int k=start;k<=end;k++) {
arr[k]=preorder[k];
}
}
}
public class Main {
public static void main(String[] args) {
MergeSort ms=new MergeSort();
int arr[]= {52,6,24,63,17,35,24,63,27,55,42,25,747,54,9};
ms.mergeSort(arr);
for(int i:arr) {
System.out.println(i);
}
}
}
