-
Julia: 거품 정렬 및 로컬 모듈 사용하기컴퓨터 2020. 11. 14. 20:53728x90반응형
Julia
1. 로컬 모듈 만들기
module utils # 사용할 모듈 이름 export 🚨, genRandomArray # JS, TS와 비슷하게 export할 메소드들 # 오름차순으로 정렬 확인 함수 function 🚨(A::AbstractVector) for i = 1:length(A) - 1 if A[i] > A[i + 1] return false end end return true end # 랜덤 배열 생성기 function genRandomArray(size::Number) return [rand(-size:size) for _ = 1:size] end end
2. 거품 정렬
위 로컬 모듈을 불러온 후, 랜덤 배열 생성 -> 정렬
include("./utils.jl") # include 후 using을 사용해야 함. using .utils function bubbleSort(A::AbstractVector) isSorted = false count = 0 n = length(A) - 1 while !isSorted isSorted = true for i = 1:n - count if A[i] > A[i + 1] A[i], A[i + 1] = A[i + 1], A[i] isSorted = false end end count += 1 end return A end println("bubbleSort") arr = genRandomArray(10000) # 아래처럼 매크로 이용할 수도 있음 # for i = 1:10000 # push!(arr, rand(-10000:10000)) # end # println("# ORIGINAL: $arr") @time bubbleSort(arr) # println("-> SORTED: ", bubbleSort(arr)) println("Correctly sorted?: ", 🚨(arr))
Julia를 공부하면서 알고리즘을 올려보고 있다.
Julia 알고리즘 모음 @Github
728x90'컴퓨터' 카테고리의 다른 글
NanoID: 범영 고유 식별자 UUID 대체? (0) 2021.07.02 docsify 문법 MD 파일 글 쓰기 (0) 2018.03.13 마우스 클릭 속도 측정 기록 (Clicking Speed Test) (1) 2018.03.04