java演算法系列

2021-07-22 09:31:04 字數 891 閱讀 1740

棧的概念

棧是一種特殊的線性表,堆疊的資料元素以及資料元素之間的關係和線性表是完全一樣的。差別是線性表是在任意位置進行插入和刪除操作,棧是只允許在固定的一端進行插入和刪除,棧的插入和刪除只允許在棧頂,棧的插入和刪除通常稱為進棧和出棧。

資料集合

每個資料元素的資料型別可以是任意的型別

操作的集合

進棧push(obj):把資料元素obj插入到棧中。

出棧pop() : 刪除的資料元素由函式返回。

獲得棧頂元素gettop():取棧頂的資料並由函式返回。

判斷棧是不是為空isempty():若棧非空返回true,否則返回false。

棧的型別:

棧的型別包括兩種:順序棧和鏈式棧

**設計:

設計mystack介面

實現順序棧類sequencestack類

public inte***ce mystack

public class sequencestack implements mystack

public sequencestack(int size)

public void init(int size)

@override

public void push(object obj) throws exception else

}@override

public object pop() throws exceptionelse

}@override

public object gettop() throws exceptionelse

}@override

public boolean isempty() public class testmystack

}

JAVA演算法系列 快速排序

首先說一下什麼是快排,比冒泡效率要高,快排的基本思路是首先找到乙個基準元素,比如陣列中最左邊的那個位置,作為基準元素key,之後在最左邊和最右邊設立兩個哨兵,i和j 之後,開始按住左哨兵 i 讓右哨兵 j 往左走 j 找到比key小的元素後,按住右哨兵 j 開始讓左哨兵往右走 i 直到找到比key大...

演算法系列 全排列演算法 Java實現

昨晚心血來潮,想起全排列演算法,但是忘記怎麼實現,所以就自己再次試圖編寫 實現。晚上想不出來,想不到,一覺醒來後,一下子就寫好了!public class quanpailie array a array a array b array b array a array b array a array...

演算法系列 Move Zeroes

given an array nums,write a function to move all 0 s to the end of it while maintaining the relative order of the non zero elements.for example,given ...