Kezdőoldal » Számítástechnika » Programozás » VB. NET-ben hogyan tudom...

VB. NET-ben hogyan tudom növekvő sorrendbe rendezni egy tömb elemeit?

Figyelt kérdés
tudom, hogy elvileg nem valami bonyolult feladat de valamiért egyszerűen nem megy
2012. ápr. 26. 16:19
 1/4 anonim ***** válasza:

Ismerős a helyzet, a sorbarendezéssel én is mindig szívok :D


A legegyszerűbb a Bubble sort algoritmus:


for (int i = 0; i < maxElemszám; i++)

{

for (int j = 0; j < maxElemszám; j++)

{

if (array[i] < array[j])

{

int c = array[i];


array[i] = array[j];

array[j] = c;

}

}

}


Értelemszerűen cseréld ki a változó neveket, illetve az "int c" esetében a típust, ha nem int.


Ezenkívül, az array namespace rendelkezik Sort metódussal, ezzel primitív elemeket (int, float, string) sorba tudsz rendezni.

2012. ápr. 26. 16:32
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
köszönöm a választ:D majdnem ugyan ezt írtam én is, de valamit az if-nél elrontottam
2012. ápr. 26. 16:37
 3/4 anonim ***** válasza:

Fésűs rendezés nagyon gyors algoritmus 65000-elem 7 másodperc a sulis gépeken:


Sub CombSort(arr As Variant, Optional numEls As Variant, _

Optional Descending As Boolean)

Dim value As Variant

Dim index As Long

Dim firstItem As Long

Dim Gap As Long

Dim Swap As Boolean

' account for optional arguments

If IsMissing(numEls) Then numEls = UBound(arr)

firstItem = LBound(arr)

Gap = numEls - firstItem + 1

Swap = False

Do While (Gap > 1 Or Swap)

' divide Gap by 1.3 - the author says it's an empirical value

If Gap > 1 Then Gap = (10 * Gap) \ 13

' another empirical value

If (Gap = 9 Or Gap = 10) Then Gap = 11

Swap = False

For index = firstItem To numEls - Gap

value = arr(index)

If (value > arr(index + Gap)) Xor Descending Then

' if the items are not in order, swap them

arr(index) = arr(index + Gap)

arr(index + Gap) = value

Swap = True

End If

Next

Loop

End Sub

2012. ápr. 28. 09:50
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

utolsó volnék ez egy függvény


tömböt át kell adni a függvénynek és utána fut le

2012. ápr. 28. 09:52
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!