資料結構 棧和佇列

2021-09-19 09:11:56 字數 1341 閱讀 9745

棧是一種特殊的線性表,只允許在固定的一端進行插入和刪除操作,進行資料插入和刪除操作的一端稱為棧頂,另一端稱為棧底。棧中的資料元素遵守lifo(last in first out)的原則。

壓棧:棧的插入操作叫做進棧,插入的資料在棧頂

出棧:棧的刪除操作叫做出棧,刪除的資料也在棧頂。

棧的實現可以使用陣列或鍊錶實現,陣列的實現更優一些。

inte***ce imystack 

public class mystack implements imystack

return false;

}@override

public int peek()

return 0;

}@override

public int pop()

return 0;

}@override

public void push(int item)

@override

public int size()

}

佇列:只允許在一段進行插入資料操作,在另一端進行資料刪除操作的特殊線性表。佇列具有先進先出fifo(first in first out)原則。進行資料插入的一端稱為隊尾,進行資料刪除操作的一端稱為隊頭。

佇列的實現採用鍊錶

inte***ce imyqueue 

public class myqueue implements imyqueue

}node head;

node tail;

public myqueue()

@override

public boolean empty()

}return false;

}/**

* @description: 取隊首元素,但是不出隊

* @param:

* @return:

*/@override

public int peek()

return 0;

}/**

* @description: 返回隊首元素並出隊

* @param:

* @return:

*/@override

public int poll()

return 0;

}@override

public void add(int item)

}else

}@override

public int size()

return size;

}}

1.實現公平

2.廣度優先遍歷

資料結構 棧和佇列

棧 基礎 知識棧 練習題 佇列 基礎知識 棧示意圖 後進先出 順序棧結構定義 define maxsize 1024 struct stack 操作函式 push 入棧 pop 出棧 struct lstack 鏈棧示意圖 操作函式 push 入棧 pop 出棧 注意 也可以直接呼叫系統已經寫好的庫...

資料結構 棧和佇列

本章的基本內容是 兩種特殊的線性表 棧和佇列 從資料結構角度看,棧和佇列是操作受限的線性表,他們的邏輯結構相同。從抽象資料型別角度看,棧和佇列是兩種重要的抽象資料型別。p棧 限定僅在表的一端進行插入和刪除操作的線性表。p允許插入和刪除的一端稱為棧頂,另一端稱為棧底。p空棧 不含任何資料元素的棧。a ...

資料結構 棧和佇列

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。class solution int pop node stack2.top stack2.pop return node private stack stack1 stack stack2 大家都知道斐波那契數列,現...