資料結構《十一》 執行緒結構 佇列的兩種實現

2021-08-11 06:10:44 字數 1505 閱讀 7771

乙個佇列的抽象資料型別

package com.mo.queue;

/** * 佇列的抽象資料結構

* */

public inte***ce queue

陣列實現的佇列

package com.mo.queue;

/** * 順序迴圈佇列(陣列實現)

*/public class seqqueue implements queue

public seqqueue(int size)

private void init(int size)

// 入隊 --> 加乙個元素在隊尾,rear要加一,count要加一

if(count == maxsize) throw new exception();

data[rear] = obj;

rear = (rear + 1) % maxsize;

count++;

} // 出隊 --> 從隊頭刪除乙個元素,front要減一,count減一

public object delete() throws exception

public object getfront() throws exception

public boolean isempty()

public static void main(string args) throws exception

while(!seqqueue.isempty())

}}

鍊錶實現的佇列

package com.mo.queue;

import com.mo.linlist.node;

/** * 佇列,列表實現

*/public class linqueue implements queue

node newnode = new node(obj,null);

if(rear != null)

//隊中還沒有元素

if(front == null)

//設定當前隊尾

rear = newnode;

count++;

} public object delete() throws exception

public object getfront() throws exception

public boolean isempty()

public static void main(string args) throws exception

system.out.println("從隊中取元素" + linqueue.getfront());

system.out.println("從隊中取元素" + linqueue.getfront());

while(!linqueue.isempty()) }

}

兩種基本的資料結構

棧的基本操作包括入棧push和出棧pop,棧有乙個棧頂指標top,指向最新如棧的元素,入棧和出棧操作操作都是從棧頂端進行的。佇列的基本操作包括入隊enqueue和出隊dequeue,佇列有隊頭head和隊尾tail指標。元素總是從隊頭出,從隊尾入。採用陣列實現佇列時候,為了合理利用空間,可以採用迴圈...

Pandas兩種主要的資料結構

pandas中的資料結構主要包括兩種,一種是series,一種是dataframe。series表示一維資料,可以簡單理解為乙個向量,但是不同於向量的是,series會自動為這一維資料建立行索引。建立series import pandas as pd series obj pd.series a ...

資料結構 兩種常見的查詢演算法

查詢是在大量的資訊中尋找乙個特定的資訊元素,在計算機應用中,查詢是常用的基本運算 順序查詢演算法 演算法思想 演算法實現演算法的c 實現,實現 來自王治和教授資料結構課堂的總結 enum error code error code sequentialsearch int entry,int siz...