본문 바로가기

Java/자료구조와 알고리즘

(11)
redixSort 에제 package day4; public class radixSortTest {public static void main(String[] args) {int testArray[] = {69, 10, 30, 2, 16, 8, 31, 22};testArray = radixSort(testArray);printArray(testArray);}static int[] radixSort(int[] testArray){int sortedArray[] = new int[testArray.length];int k = 1;//1의 자리 수로 정렬for(int i = 0; i < 10; i++){for(int j = 1; j < testArray.length; j++){if((testArray[j] % 10) == i){sor..
MergeSort 예제 package day4; public class MergeSort {private int sorted[] = new int[30]; public void merge(int a[], int m, int middle, int n) {int size = a.length;int i, j, k, t;i = m;j = middle + 1;k = m;while (i
Bubble Sort 예제 package day3; public class BubbleSort {public BubbleSort(int[] a) {int temp = 0;for(int i=a.length-1; i>0; i--){for(int j=0; ja[j+1]){temp = a[j];a[j] = a[j+1];a[j+1] = temp;}}System.out.printf("\n선택 정렬 %d 단계 : ", (i-8)*(-1));for(int j=0; j
Selection Sort package day3; public class SelectionSort { public static void selectionSort(int [] arr) { int min = 0; // 최저 값을 담을 요소 for (int i = 0; i < arr.length - 1; i++) { min = i; // 첫번째 요소를 선택 for (int j = i + 1; j < arr.length; j++) { if (arr[j] < arr[min]) // 첫번째 요소와 가장 적은 값을 찾는 비교 연산 min = j; } swap(arr, min, i); System.out.println("선택 정렬 " + (i + 1) + " 단계: "); printArr(arr); } } public static void s..
Quick Sort 소스 public class QuickSort {static int i = 0;public static void QuickSort(int[] a,int begin, int end) {if(begin < end){int p = partition(a, begin, end);QuickSort(a,begin,p-1);QuickSort(a,p + 1, end);}}public static int partition(int[] a, int begin, int end){int pivot = (begin + end) / 2;int L = begin;int R = end;int temp;System.out.println("[퀵 정렬 " + ++i + "단계: pivot: " + a[pivot]);while(L < R){whil..
TreeMap 으로 순서정렬 알고리즘 public class MapTest {public static void main(String[] args) {String[] cars = new String[] { "아우디", "밴츠", "BMW", "마흐바흐", "포르쉐", "벤츠" };TreeMap map = new TreeMap();for(int i = 0; i
Tree set 으로 순서나열하기 <2> public class SetTest2 {public static void main(String[] args) { TreeSet tset = new TreeSet();tset.add(new person("park", 40));tset.add(new person("kim", 30));tset.add(new person("lee", 20));Iterator iter = tset.iterator(); iter = tset.iterator();while (iter.hasNext())System.out.println(iter.next()); }} --------------------------------------------------------------------- public class person impl..
Tree set으로 순서 나열하기 <1> public class SetTest { public static void main(String[] args) { String[] cars = new String[]{"아우디", "벤츠", "BMW", "마흐바흐", "포르쉐", "벤츠"}; HashSet hset = new HashSet(); TreeSet tset = new TreeSet(); for(String s: cars) { hset.add(s); tset.add(s); } Iterator iter = hset.iterator(); System.out.print( "hashset => "); while(iter.hasNext()) System.out.print(iter.next() +", "); System.out.println(); Syste..