1.3 棧
棧是一種先進後出的資料結構。只能在一端進行插入和刪除操作的特殊線性表。
將資料進入棧稱為壓棧,資料出去稱為彈棧。
壓棧
public
void
push
(t t)
彈棧
public t pop()
//讓首結點指向第乙個結點的下乙個結點
head.next=oldfirst.next;
//元素個數-1
n--;return oldfirst.item;
}
遍歷資料
public iterator
iterator()
public
class
siterator
implements
iterator
@override
public
boolean
hasnext()
@override
public object next()
}
完整**
public
class
stack
implements
iterable
//建立內部類
private
class
node
}public
boolean
isempty()
public
intsize()
//把t元素壓入棧
public
void
push
(t t)
//把元素t彈出棧
public t pop()
//讓首結點指向第乙個結點的下乙個結點
head.next=oldfirst.next;
//元素個數-1
n--;return oldfirst.item;
}//遍歷資料
@override
public iterator
iterator()
public
class
siterator
implements
iterator
@override
public
boolean
hasnext()
@override
public object next()
}}
1.4 佇列佇列與棧不同,它是一種先進先出的資料結構,只能在一端進行插入,在另一端進行刪除的線性表。
插入元素
public
void enqueue (t t)
//當前尾結點不為null
else
//元素個數+1
n++;}
從佇列取出元素
public t dequeue()
return oldfirst.item;
}
完整**
public
class
queue
implements
iterable
//建立內部類
private
class
node
}public
boolean
isempty()
public
intsize()
//向佇列中插入元素
public
void enqueue (t t)
//當前尾結點不為null
else
//元素個數+1
n++;}
//從佇列中取出元素
public t dequeue()
return oldfirst.item;
}@override
public iterator
iterator()
public
class
siterator
implements
iterator
@override
public
boolean
hasnext()
@override
public object next()
}}
b站詳細講解**: 線性表 棧 佇列
輔助定義 define maxsize 5 define ok 0 define error 1 typedef int selemtype typedef int status 棧 順序 鏈式 相關結構體定義 順序棧 typedef struct sqstack 順序棧共享空間 typedef s...
線性表 棧和佇列
線性表是n個元素的有限序列。表示方法有兩種,一種是順序表示,一種是鏈式表示。順序表示即採用一組位址連續的儲存單元依次儲存線性表的資料元素,通常採用陣列來實現 鏈式表示是用一組任意的儲存單元儲存線性表的資料元素,每一結點包含兩個域 資料域和指標域,資料域儲存資料,指標域儲存後繼儲存位址資訊,實現為 i...
DataStructure 線性表 棧 佇列
這裡是水水水的資料結構課的筆記 1.線性表 一些無腦的操作 低配vector,線性表無序有序都可以通過下標快速訪問。但是修改操作耗時大,建議不太靈活,多組讀取的資料使用 include using namespace std template typename e class list list c...