SORU
30 EYLÜL 2008, Salı


VBA dizi sıralama fonksiyonu?

İyi bir sıralama VBA diziler için uygulama arıyorum. Bir Quicksort tercih olacaktır. Veya sort algorithm başka bir kabarcık veya birleştirme yeterli olacaktır.

Lütfen bu MS Project 2003, Excel yerli herhangi kaçınmalısınız, böylece fonksiyonları ve herhangi bir iş için olduğunu unutmayın .net ile ilgili.

CEVAP
30 EYLÜL 2008, Salı


Bir bak here:

Public Sub QuickSort(vArray As Variant, inLow As Long, inHi As Long)

  Dim pivot   As Variant
  Dim tmpSwap As Variant
  Dim tmpLow  As Long
  Dim tmpHi   As Long

  tmpLow = inLow
  tmpHi = inHi

  pivot = vArray((inLow   inHi) \ 2)

  While (tmpLow <= tmpHi)

     While (vArray(tmpLow) < pivot And tmpLow < inHi)
        tmpLow = tmpLow   1
     Wend

     While (pivot < vArray(tmpHi) And tmpHi > inLow)
        tmpHi = tmpHi - 1
     Wend

     If (tmpLow <= tmpHi) Then
        tmpSwap = vArray(tmpLow)
        vArray(tmpLow) = vArray(tmpHi)
        vArray(tmpHi) = tmpSwap
        tmpLow = tmpLow   1
        tmpHi = tmpHi - 1
     End If

  Wend

  If (inLow < tmpHi) Then QuickSort vArray, inLow, tmpHi
  If (tmpLow < inHi) Then QuickSort vArray, tmpLow, inHi

End Sub

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bryan Adams

    Bryan Adams

    30 Mart 2006
  • BumbleDroid

    BumbleDroid

    18 EKİM 2010
  • TheScorpioTechno

    TheScorpioTe

    15 Aralık 2010