[#1]
blitz: wstawianie elementu do listy (nie tablicy)
Czesc,
jesli ktos ma czas i ochote to moze ten temat potraktowac jako rozgrzewke.
Mam liste, powiedzmy 20 elementow.
Lista jest posortowana rosnaco (0...19)
Usuwam 1szy element (z pozycji 0)
Teraz chce wstawic nowy element np.11 lub -17, lub 63
Ma on zostac wstawiony na liste tak by zachowac kolejnosc rozsnaca.
Moja wersja jest ponizej i dziala ale czy nie da sie tego jescze uproscic?
Byc moze "zafiksowalem" sie na jakims pomysle i nie widze bardziej oczywistego.
Operowanie na listach w Blitzu jest dosc... malo intuicyjne.
Dzieki
Dim List lst.w(19)
new.w=-18
i.w=0
While AddItem(lst())
lst()=i
i+1
Wend
ResetList lst()
If NextItem(lst()) Then KillItem lst()
If LastItem(lst())
If new>lst()
If AddItem(lst()) Then lst()=new
Goto __jump__
Else
While PrevItem(lst())
If new>lst()
If AddItem(lst()) lst()=new
Goto __jump__
EndIf
Wend
EndIf
EndIf
ResetList lst()
If AddItem(lst()) Then lst()=new
__jump__:
ResetList lst()
While NextItem(lst())
Print Str$(lst())+", "
Wend
MouseWait
End