Java棧和隊列是數(shù)據(jù)結(jié)構(gòu)中比較常見的兩種數(shù)據(jù)類型。它們可以用來實現(xiàn)很多功能,其中包括刪除元素。
棧是一種后進先出(Last In First Out, LIFO)的數(shù)據(jù)結(jié)構(gòu),也就是說最后壓入棧的元素最先被彈出。而隊列則是一種先進先出(First In First Out, FIFO)的數(shù)據(jù)結(jié)構(gòu),也就是說最先進入隊列的元素最先被彈出。
下面我們分別介紹如何使用Java棧和隊列實現(xiàn)刪除。
// 使用Java棧實現(xiàn)刪除 Stackstack = new Stack<>(); stack.push(1); stack.push(2); stack.push(3); int size = stack.size(); for (int i = 0; i< size - 1; i++) { stack.pop(); } System.out.println(stack.pop()); // 輸出1
以上代碼展示了如何使用Java棧實現(xiàn)刪除。首先我們創(chuàng)建了一個棧,并向其中加入了3個元素。然后獲取棧的大小,由于我們要刪除最后一個元素,所以需要先彈出前面的兩個元素。這里我們使用for循環(huán)來實現(xiàn),循環(huán)次數(shù)為棧的大小減1。最后我們再彈出棧頂元素,即為我們要刪除的元素。
// 使用Java隊列實現(xiàn)刪除 Queuequeue = new LinkedList<>(); queue.offer(1); queue.offer(2); queue.offer(3); int size = queue.size(); for (int i = 0; i< size - 1; i++) { queue.offer(queue.poll()); } System.out.println(queue.poll()); // 輸出1
以上代碼展示了如何使用Java隊列實現(xiàn)刪除。同樣地,我們創(chuàng)建了一個隊列,向其中加入了3個元素。接著獲取隊列的大小,由于我們要刪除最前面的元素,所以需要先彈出并再次加入前面的兩個元素。這里我們使用for循環(huán)來實現(xiàn),循環(huán)次數(shù)為隊列的大小減1。最后我們再彈出隊首元素,即為我們要刪除的元素。