오늘공부한것/자료구조 6

[자료구조] 자바로 퀵정렬(Quick Sort) 알고리즘 구현하기

import java.util.Arrays; public class Quick_Sort { public static void main(String[] args) { int[] arr = {6,8,2,1,4,7,0,9,5,3}; quickSort(arr, 0, arr.length-1); System.out.println(Arrays.toString(arr)); } public static void swap(int[] arr, int p1, int p2) { int temp = arr[p1]; arr[p1] = arr[p2]; arr[p2] = temp; } private static void quickSort(int[] arr, int start, int end) { int left = start; int..

[자료구조] 자바로 선택정렬(Selection Sort) 알고리즘 구현하기

import java.util.Arrays; public class Selection_Sort { public static void main(String[] args) { int[] arr = {6,8,2,1,4,7,0,9,5,3}; selectionSort(arr); System.out.println(Arrays.toString(arr)); } private static void swap(int[] a, int idx1, int idx2) { int temp = a[idx1]; a[idx1] = a[idx2]; a[idx2] = temp; } private static void selectionSort(int[] a) { for(int i = 0; i < a.length; i++) { //최소값의 인덱..

[자료구조] 자바로 병합정렬(Merge Sort) 알고리즘 구현하기

import java.util.Arrays; public class Merge_Sort { public static int[] arr; public static int[] temp; public static void main(String[] args) { arr = new int[]{6,8,2,1,4,7,0,9,5,3}; temp = new int[arr.length]; mergeSort(0, arr.length-1); System.out.println(Arrays.toString(arr)); } private static void mergeSort(int left, int right) { if(left < right) { //절반 나눠서 반절씩 int mid = (left+right)/2;//중앙 인덱..

[TIL_Java] 연결리스트(Linked List) Java로 구현하기

https://freestrokes.tistory.com/84?category=1045118 링크에서 코드를 보고 작성했으며 추가로 주석을 달아서 제가 이해하는데 도움이 되도록 했습니다. 중간에 코드만 봐서는 이해안가는 부분이 있어서 그림으로 이해하기 쉽게 그려봤습니다. //https://freestrokes.tistory.com/84?category=1045118 public class LinkedList { private ListNode head; //LinkedList 생성자 public LinkedList() { head = null; } class ListNode { private String data; public ListNode link; public ListNode() { this.data..