0
我正在尋找一個包含字符串和整數上下文的對象,並已推入堆棧並將這些特定內容彈出到用戶可以看到的顯示中。顯示屏由兩個textareas和一個標籤組成。從推送的堆棧對象彈出內容到textarea
我無法弄清楚如何訪問對象的各個部分,雖然顯示出來..
這裏是我的Stack.as類:
Stack.as
package
{
// credit for this class: *@author Michael Avila
import Node;
public class Stack
{
private var first:Node;
public function isEmpty()
{
return first == null;
}
public function push(data:Object)
{
var oldFirst : Node = first;
first = new Node();
first.data = data;
trace(first.data.toString());
first.next = oldFirst;
}
public function pop():Object
{
if (isEmpty())
{
trace ("Error: \n\t Objects of type Stack must contain data before you attempt to pop");
return true;
}
var data = first.data;
return Object;
}
}
}
這就是我如何彈出它:
...
private function nextMoveLPart(event:EffectEvent):void // open up connection get
{
if(shuffle == 0)
{
var r:Object = s.pop();
trace(r);
stext1.text = r.cSide1;
trace(r.cSide1);
stext2.text = r.cSide2;
cardNumberLabel.text = r.id;
...
這裏是我是如何推動它的堆棧:
if(i<=numResults-1)
{
var row:Object = result.data[i];
s.push(row);
stext1.text = row.cSide1;
stext2.text = row.cSide2;
cardNumberLabel.text = row.id;
}
任何幫助或建議將是真棒,並大加讚賞。謝謝!
修訂
推:
public var stackArray:Array = new Array();
...
if(i<=numResults-1)
{
var row:Object = result.data[i];
stackArray.push(row);
stext1.text = row.cSide1;
stext2.text = row.cSide2;
cardNumberLabel.text = row.id;
}
流行:
if(shuffle == 0)
{
var r:Object = stackArray.pop();
if(r != null)
{
stext1.text = r.cSide1;
stext2.text = r.cSide2;
cardNumberLabel.text = r.id;
}
哇使用數組完美。非常感謝!!向上發佈更新的代碼。 – Jordan 2011-03-02 22:15:16
@Fran非常高興你有工作,只是想澄清,因爲我最初說錯了,並且恨我的名字上有錯誤信息。對於堆棧而言,先進先出的數據結構推送和彈出是傳統隊列的首選方法,您希望使用推送和移位。真高興你做到了。 – shaunhusain 2011-03-03 20:44:29