728x90
버블정렬
-
VBA/버블정렬(Bubble sort)코딩/vba 2024. 1. 9. 15:54
VB에는 Array.Sort()라는 함수가 있어 배열정렬이 가능하지만 VBA에서는 정렬함수가 따로 없다. 그래서 배열을 정렬할 함수를 별도로 만들어 써야 하는데, 그 중 많이 쓰이는 것이 코드가 간단한 버블정렬이다. 좀 느리긴 하지만 코드가 짧아 편리하다. 원리는 배열 원소의 처음부터 끝까지 하나씩 비교해가면서 좌우를 바꾸는 방식이다. 보다 상세한 내용은 위키백과를 참조한다. 그리고 위키백과나 다른 참조자료들의 그림은 직관적이지 않아 새로 그려 원리를 설명한다. 비교는 아래 그림처럼 한다. ' 인수로 받는 arr 배열은 값이 아닌 참조로 받으며 variant값으로 정의 Sub BubbleSort(ByRef arr As Variant) Dim i As Integer, j As Integer Dim tmp ..