C샵 퀵정렬 구현

1 개요[ | ]

C# 퀵정렬 구현
using System;
class Program {
    static void quickSort(int[] a) {
        quickSort(a, 0, a.Length-1);
    }
    static void quickSort(int[] a, int L, int R) {
        int left, right, pivot=a[L];
        for(left=L,right=R; left<right; right--) {
            while( a[right]>=pivot && left<right ) right--;
            if( left<right ) a[left] = a[right];
            while( a[left]<=pivot && left<right ) left++;
            if( left>=right ) break;
            a[right] = a[left];
        }
        a[left]=pivot;
        if( left>L ) quickSort(a, L, left-1);
        if( left<R ) quickSort(a, left+1, R);
    }
    static void Main() {
        int[] arr = {9,1,22,4,0,-1,1,22,100,10};
        quickSort(arr);
        Console.Write(string.Join(",",arr));
        // -1,0,1,1,4,9,10,22,22,100
    }
}

2 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}