ABOUT ME

-

Total
-
  • V langauge : Bubble Sort
    컴퓨터/V language 2020. 8. 18. 22:06
    728x90
    반응형

    Bubble Sort

    1. 문법 소개

    For in range

    파이썬에서 5번 Hello World를 출력하려면 아래와 같은데,

    # Python
    for _ in range(5):
        print('Hello World')

    V 언어에서는 range를 .. 으로 표시한다.

    // V
    for _ in 0..5 {
        println('Hello World')
    }

     

    String println

    println('${array[i]}') // 배열 array[i]를 출력하려면
    
    println($test_arr)  // test_arr를 출력하려면

     

    2. Bubble Sort

    fn main() {
    	mut test_arr := [1, -1, 0, 5, 3, 10]
    	bubble_sort<int>(mut test_arr)
    	println('Result : $test_arr')
    }
    
    // Bubble Sort
    [direct_memory_access]
    fn bubble_sort<T>(mut array []T) {
    	mut is_sorted := false
    	mut counter := 0
    
    	for !is_sorted {
    		is_sorted = true
    		for i in 0..array.len - 1 - counter {
    			if array[i] > array[i + 1] {
    				array[i], array[i + 1] = array[i + 1], array[i]
    				is_sorted = false
    			}
    		}
    		counter++
    	}
    }

     

    3. 결과

    10_000개의 랜덤 배열 정렬 시간 : 1초

    5_000개 랜덤 배열 정렬 시간 : 0.26초 (파이썬은 약 2.5초)

     

    Github 풀소스

    728x90

    '컴퓨터 > V language' 카테고리의 다른 글

    V language : Introspective Sort  (0) 2020.08.20
    V language : Insertion Sort  (0) 2020.08.19
    "V" 프로그래밍 언어 (vlang)  (0) 2020.08.18

    댓글