2.
棧和佇列
所謂的棧,是乙個含有至少兩個基本操作的抽象資料型別:插入新的元素;刪除最近時間插入的元素。à遵循
filo
(first in
,last out
,先進後出)的原則。
所謂的佇列,也是乙個含有至少兩個基本操作的抽象資料型別:插入新的元素;刪除最久時間插入的元素。à遵循
fifo
(first in
,first out
,先進先出)的原則。
關於棧和佇列的具體實現,我們即可以借助於陣列,也可以採用鍊錶來實現。
1)棧的陣列實現方式
publicclassmystack
publicmystack ()
publicmystack (intlen)
/**重新調整陣列的大小
**/privatevoidresize(intsize)
items
=newitems; }
publicvoidpush(e e)
publice pop()
publice peek() }
2)棧的鏈式實現方式
public class mystack
node head;
public boolean isempty()
public void push(e t)
public e pop()
public e peek() }
3)佇列的陣列實現
public class arrayqueue
public boolean empty()
public void insert(e e)
if(front //
如果元素位於
itemarray[front:rear-1]
中for(int i=front;i
newarray[i]=itemarray[i]; }
}else //
區間2:itemarray[front:count-1]
for(int i=front;i
newarray[i]=itemarray[i]; }
front+=capacityincrement;//
然後,將
front
改為指向其新位置}
itemarray=newarray; }
itemarray[rear]=e;
rear=(rear+1)%capacity;
count++; }
public e remove()
else }
}4)佇列的鏈式實現方式
publicclasslistqueue
privatenode
front
,rear;
privateint
count;
publicbooleanempty()
publicvoidinsert(e e)else
count
++; }
publice remove()else
count
--;
returne; }
} publiclistqueueclone() }
基本資料結構說明(三)
3.樹的說明 樹 t k是包含n個結點的有窮集合 n 0 關係r滿足以下條件 1 有且僅有乙個結點k0 k,它對於關係r來說沒有前驅結點,結點k0稱作樹的根。2 除結點k0外,k中的每個結點對於關係r來說都有且僅有乙個前驅結點。3 k中每個結點對於關係r來說可以有多個後繼結點。我這裡主要討論的是二叉...
(二)基本資料結構 棧
棧作為最常見的資料結構之一,其作用不言而喻。我將自定義乙個棧的類,該棧是基礎之前所學習的動態陣列實現的。由於棧是filo first in last out 型別,則棧的增刪只存在入棧push 和出棧pop 而改查則需要一一出棧然後修改後再進行入棧操作。由於基礎array實現 array 在arra...
opencv基本資料結構
iplimage 首先介紹重要的成員變數 width和height表示了的尺寸。其次是depth和nchannels,depth是指畫素顏色的取值範圍,nchnannels為影象的通道,可以取1,2,3,4 origin變數定義了影象的原點,有兩個取值,分別是ipl origin bl和ipl or...