package stack;
public class arraystack
//入棧操作
public boolean push(string item)
//出棧操作
public string pop()
// 返回下標為 count-1 的陣列元素,並且棧中元素個數count-1
string tmp=items[count-1];
--count;
return tmp;
}}
package stack;
/** * 基於鍊錶實現棧
* */
public class stackbasedlinkedlist
//入棧
public void push(int value)else
} //出棧
public int pop()
public void printall()
system.out.println(); }
private static class node
public int getdata()
}}
package stack;
/** * 使用前後棧實現瀏覽器的前進後退
* */
public class samplebrowser
private string currentpage;
private linkedlistbasedstack backstack;
private linkedlistbasedstack forwardstack;
public samplebrowser()
public void open(string url)
showurl(url, "open");//賦值currentpage
}public boolean cangoback()
public boolean cangoforward()
public string goback()
system.out.println("* cannot go back, no pages behind.");
return null;
}public string goforward()
system.out.println("* cannot go forward, no pages ahead.");
return null;
}public void showurl(string url,string prefix)
public void checkcurrentpage()
/*** a linkedlist based stack implementation.
*/public static class linkedlistbasedstack
public static node createnode(string data,node next)
public void clear()
public int size()
public void push(string data)
public string pop()
top=popnode.next;
if(size>0)
size--;
return popnode.data;
} public string gettopdata()else
} public void print()
system.out.println();
} public static class node
public node(string data,node next)
public string getdata()
public void setdata(string data)
public node getnext()
public void setnext(node next)
}}}
資料結構之棧結構
棧結構是一種filo first in last out 的批量資料儲存結構。其特點是先進後出,後來者居上 棧的基本屬性 棧記憶體 棧頂標記 棧的當前元素個數 萬金油屬性 size 棧的基本操作 萬金油的的操作 根據實現的不同將棧結構分為兩種 1.鏈式棧 2.陣列 利用有表頭鍊錶的頭插法來完成棧的功...
資料結構之棧
4.8.2 四則運算表示式求值 程式如下所示 include include include 定義結點型別 typedef struct node node,pnode 定義棧的抽象資料型別 typedef struct stack stack,pstack 函式宣告 對棧進行初始化的函式 void...
資料結構之棧
資料結構之棧 本文討論棧的陣列實現。棧需要有如下幾個屬性 棧的容量 capacity 棧頂指標 儲存棧元素的陣列 根據這幾個屬性可以定義乙個棧結構體 struct stackrecord 然後定義棧的操作,一般可以包含如下幾個 棧的建立 stack createstack int size 棧的銷毀...