알고리즘

분할함수 알고리즘

생각 나무 2020. 3. 19. 11:47

int Partition(a[],n) {

  Left = 1; Right = n-1;

  while(Left<Right) {    //A[0]

    //피벗보다 큰 값의 위치를 찾음

    while(Left<n && A[Left]<A[0]) Left++;

    //피벗보다 작은 값의 위치를 찾음

    while(Right > 0 && A[Right] >= A[0]) Right++;

    if(Left < Right) 교환(A[Left] <=> A[Right])

  }

  return Right;

}

'알고리즘' 카테고리의 다른 글

최소값 찾기  (0) 2020.03.30
합병 정렬 알고리즘  (0) 2020.03.30
퀵 정렬  (0) 2020.03.19
이진탐색 알고리즘_반복형태  (0) 2020.03.19
이진탐색알고리즘_순환형태  (0) 2020.03.17