Push/Pop Funktion für Arrays?
Übersicht

![]() |
NoaBetreff: Push/Pop Funktion für Arrays? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo allerseits,
gibts für Arrays ne Push und Pop-Funktion? Also ich hab bisher keine gefunden. Oder hat irgendwer schon etwas in der Richtung entworfen oder Ideen dafür? Ich weiß, dass man Push im Prinzip mit Slice hinkriegt aber grade ne Pop-Funktion würde jedes mal ne Menge Code ersetzen. Danke schonmal im Voraus |
||
![]() |
FOODy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Soweit ich weiß nicht.
Aber man kann eigene funktionen dafür machen. (sind ja nur paar zeilen ![]() Hier ist ein Beispiel für ein Int-Array: Code: [AUSKLAPPEN] SuperStrict
Framework BRL.StandardIO Local array:Int[] = [1,2,3,4,5,6,7,8,9,10,11,12] PushInt(array,13) PushInt(array,14) PushInt(array,15) While array.length Print PopInt(array) Wend '-------------------------------------------------------------------------- Function PushInt(array:Int[] Var,val:Int) array = array[..array.length+1] array[array.length-1] = val EndFunction Function PopInt:Int(array:Int[] Var) Local tmp:Int = array[0] array = array[1..] Return tmp EndFunction Gruß, FOODy |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das ist mit abstand die worst case idee, sorry.
Slicing nach jedem Aufruf ist eine speedtechnisch inakzeptable Lösung. Wenn du dir einen Stack basteln willst, nimm TList (brl.linkedlist). Bei Push fügst du das Element am anfang der Liste ein, bei Pop removst du das erste Element der liste (listremove(liste,liste.first()) ) und bei Top gibst du das erste Element der Liste zurück |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group