一、棧
package 棧與佇列;
public
inte***ce
istack
package 棧與佇列;
public
class
sqstack
implements
istack
@override
public
void
clear()
@override
public
intlength()
@override
public
void
push
(object o)
throws exception
else
}@override
public object pop()
else
}@override
public object peek()
else
}public
void
print()
}}
package 棧與佇列;
public
class
linkstack
implements
istack
@override
public
void
clear()
@override
public
intlength()
return length;
}@override
public
void
push
(object o)
throws exception
@override
public object pop()
else
}@override
public object peek()
else
}public
void
print()
system.out.
println()
;}}
二、 佇列
1、定義:刪除操作只能在一端(隊首)進行,而插入操作只能在另一端(隊尾)進行的線性表。
2、特點:先進先出
3、佇列的抽象資料型別描述
package 棧與佇列;
public
inte***ce
iqueue
4、順序佇列及其基本操作的實現
package 棧與佇列;
public
class
sqqueue
implements
iqueue
@override
public
boolean
isempty()
@override
public
intlength()
@override
public object peek()
else
}@override
public
void
offer
(object o)
throws exception
else
}@override
public object poll()
else
next = next -1;
return o;}}
}
5、鏈式佇列及其基本操作的實現
package 棧與佇列;
public
class
linkqueue
implements
iqueue
@override
public
boolean
isempty()
@override
public
intlength()
return length;
}@override
public object peek()
else
}@override
public
void
offer
(object o)
throws exception
}@override
public object poll()
else
}}
6、迴圈佇列及其基本操作的實現
package 棧與佇列;
public
class
circlequeue
implements
iqueue
@override
public
void
clear()
@override
public
boolean
isempty()
@override
public
intlength()
@override
public object peek()
else
}@override
public
void
offer
(object o)
throws exception
else
}@override
public object poll()
else
}}
注意:
佇列初始化:front = rear = 0;
隊空條件:front == rear;
隊滿條件:(rear+1) % maxsize == front;
隊首指標進1: front = (front+1) % maxsize;
隊尾指標進1: rear = (rear+1) % maxsize;
資料結構 第三章 棧與佇列
3.1 棧 3.1.1 抽象資料型別棧的定義 棧是限定僅在表尾進行插入或刪除操作的線性表。因此,對棧來說,表尾端有其特殊含義,稱為棧頂。相反地,表頭端稱為棧底。棧是後進先出 lifo 的線性表。基本操作 top 返回棧頂元素 pop 彈出棧頂元素 push a 將元素a壓入棧 empty 判斷是否為...
資料結構 第三章 棧與佇列
定義 限定僅在表尾進行插入和刪除操作的線性表。即後進先出的線性表 last in first out 表尾即棧頂top,表頭即棧低bottom。儲存方式 順序棧 鏈棧 順序棧 一組位址連續的儲存單元,一次存放自棧低到棧頂的資料元素。結構 兩個指標top,base,乙個int size描述棧的大小 空...
資料結構與演算法分析 第三章 棧
棧是限制插入和刪除只能在乙個位置上進行的表,該位置是表的末端,叫做棧頂 top 對棧的基本操作有push 進棧 和pop 出棧 前者相當於插入,後者則是刪除最後插入的元素。棧是後進先出的 lifo 表,一般的模型中,存在某個元素位於棧頂,而該元素是唯一的可見元素。只有棧頂元素是可以訪問的 棧是乙個表...