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

  • AllYourNewsByMe

    AllYourNewsB

    18 Temmuz 2011
  • girleffect

    girleffect

    20 Mayıs 2008
  • Mary Jane Tauyan

    Mary Jane Ta

    20 AĞUSTOS 2009