代碼隨想錄三刷day10 | 棧與隊列之 232.用棧實現隊列 225. 用隊列實現棧

232.用棧實現隊列

題目鏈接
解題思路:在pop的時候,操作就復雜一些,輸出棧如果為空,就把進棧數據全部導入進來;peek的時候可以用this指針。

代碼如下:

class MyQueue {
public:stack<int> stIn;stack<int> stOut;MyQueue() {}void push(int x) {stIn.push(x);}int pop() {if(stOut.empty()){while(!stIn.empty()){stOut.push(stIn.top());stIn.pop();}}int result = stOut.top();stOut.pop();return result;}int peek() {int res = this->pop();stOut.push(res);return res;}bool empty() {return stIn.empty() && stOut.empty();}
};

225. 用隊列實現棧

題目鏈接
解題思路: 可以直接用一個隊列模擬棧,將頭部元素直接添加到末尾。
代碼如下:

class MyStack {
public:
//用一個隊列試現棧queue<int> que;MyStack() {}void push(int x) {que.push(x);}int pop() {int size = que.size();size--;while(size--){que.push(que.front());//將隊列中頭元素添加到末尾que.pop();}int result = que.front();que.pop();return result;}int top() {return que.back();}bool empty() {return que.empty();}
};

que.front()可以訪問隊列中的第一個元素,但是該元素仍然保留在隊列中,不會被刪除。
que.back()用于獲取隊列中的最后一個元素,而不會將其從隊列中刪除。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/712670.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/712670.shtml
英文地址,請注明出處:http://en.pswp.cn/news/712670.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Oracle臨時表應用

1.參考 oracle兩種臨時表的創建及使用方法_oracle 臨時表-CSDN博客 【SQL】全局臨時表 GLOBAL TEMPORARY TABLE-CSDN博客 2.語句 CREATE GLOBAL TEMPORARY TABLE tablename (columns) [ ON COMMIT PRESERVE | DELETE ROWS ] 3.應用 CREATE GLOBAL TEMPORARY TABLE "SE…

嵌入式驅動學習第一周——內核的中斷機制

前言 本文介紹中斷機制&#xff0c;中斷作為需要頻繁使用的功能&#xff0c;本文將詳細介紹linux內核中的中斷機制。 嵌入式驅動學習專欄將詳細記錄博主學習驅動的詳細過程&#xff0c;未來預計四個月將高強度更新本專欄&#xff0c;喜歡的可以關注本博主并訂閱本專欄&#xff…

初始Tomcat(Tomcat的基礎介紹)

目錄 一、Tomcat的基本介紹 1、Tomcat是什么&#xff1f; 2、Tomcat的配置文件詳解 3、Tomcat的構成組件 4、Tomcat的頂層架構 5、Tomcat的核心功能 6、Tomcat的請求過程 一、Tomcat的基本介紹 1、Tomcat是什么&#xff1f; Tomcat 服務器是一個免費的開放源代碼的Web …

【數據庫管理系統】Mysql 8.0.36入門級安裝

下載地址 官方網址&#xff1a;MySQL 注意事項 建議不要安裝最新版本&#xff0c;一般找mysql5.0或mysql8.0系列版本即可&#xff1b;mysq1官網有.zip和.msi兩種安裝形式&#xff1b;zip是壓縮包&#xff0c;直接解壓縮以后使用的&#xff0c;需要自己配置各種東西&#xff…

912. 排序數組(堆排序)

堆排序&#xff1a; 聲明全局堆長度建堆&#xff08;大頂堆&#xff09;從最后一個元素開始向前遍歷&#xff0c;進行&#xff1a;1. 交換最后元素和堆頂元素&#xff1b;2. 全局堆長度-1&#xff1b;3. 調整大頂堆&#xff08;從第0個位置開始&#xff09; 建堆&#xff1a;…

【遞歸搜索回溯專欄】前言與本專欄介紹

本專欄內容為&#xff1a;遞歸&#xff0c;搜索與回溯算法專欄。 通過本專欄的深入學習&#xff0c;你可以了解并掌握算法。 &#x1f493;博主csdn個人主頁&#xff1a;小小unicorn ?專欄分類&#xff1a;遞歸搜索回溯專欄 &#x1f69a;代碼倉庫&#xff1a;小小unicorn的代…

分享6個解決msvcp110.dll丟失的方法,全面解析msvcp110.dll文件

msvcp110.dll 是一個動態鏈接庫 (DLL) 文件&#xff0c;屬于 Microsoft Visual C 庫的一部分&#xff0c;具體來說是 Microsoft Visual C 2012 版本的運行時組件。這個 DLL 文件包含了在 Windows 環境下運行用 C 編寫的程序所必需的一些函數和資源。當一個應用程序是使用 Visua…

視頻拉流推流技術梳理

概況 視頻的整個流程主要分為推流和拉流 攝像頭場景&#xff1a; 攝像頭捕捉視頻畫面&#xff0c;推流到服務器&#xff0c;服務器分發到CDN&#xff0c; 客戶端從CDN地址拉流&#xff0c;客戶端進行播放 直播場景&#xff1a; 主播通過手機&#xff0c;電腦等客戶端&…

G8-ACGAN理論

本文為&#x1f517;365天深度學習訓練營 中的學習記錄博客 原作者&#xff1a;K同學啊|接輔導、項目定制 我的環境&#xff1a; 1.語言&#xff1a;python3.7 2.編譯器&#xff1a;pycharm 3.深度學習框架Pytorch 1.8.0cu111 一、對比分析 前面的文章介紹了CGAN&#xf…

java基礎(4)注解,集合,

注解 什么是注解&#xff08;Annotation&#xff09;&#xff1f;注解是放在Java源碼的類、方法、字段、參數前的一種特殊“注釋” // this is a component: Resource("hello") public class Hello {Injectint n;PostConstructpublic void hello(Param String name…

經典文獻閱讀之--CamMap(基于SLAM地圖對不共視相機進行外參標定)

0. 簡介 由于多相機之間通常存在有限或無重疊的視場&#xff0c;因此在估計外參相機參數時面臨著一定的挑戰&#xff0c;為了解決這個問題&#xff0c;本文提出了CamMap&#xff1a;一種新穎的6自由度外參標定流程。根據三個操作規則&#xff0c;使一個多相機系統單獨捕捉一些…

【Linux進程】進程狀態(運行阻塞掛起)

目錄 前言 1. 進程狀態 2. 運行狀態 3. 阻塞狀態 4. 掛起狀態 5. Linux中具體的狀態 總結 前言 在Linux操作系統中&#xff0c;進程狀態非常重要&#xff0c;它可以幫助我們了解進程在系統中的運行情況&#xff0c;從而更好地管理和優化系統資源&#xff0c;在Linux系統中&am…

【Python筆記-設計模式】迭代器模式

一、說明 迭代器模式是一種行為設計模式&#xff0c;讓你能在不暴露集合底層表現形式&#xff08;列表、棧和樹等&#xff09;的情況下遍歷集合中所有的元素。 (一) 解決問題 遍歷聚合對象中的元素&#xff0c;而不需要暴露該對象的內部表示 (二) 使用場景 需要對聚合對象…

SpringBoot實現短鏈跳轉

目錄 1.背景介紹 2.短鏈跳轉的意義 3.SpringBoot中的代碼實現 1.建議短鏈-長鏈的數據庫表&#xff1a;t_url_map: 2.映射實體 3.Dao層實現 4.Service層實現 5.Controller層實現 3.結果測試 4.問題 1.背景介紹 短鏈跳轉是一種通過將長鏈接轉換為短鏈接的方式&…

南方電網的能源棋局上,蔚來換電扮演什么角色?

2 月 26 日&#xff0c;南網儲能科技與蔚來能源簽署協議&#xff0c;將充換電站、儲能站、可調負載等聚合資源連接到虛擬電廠平臺&#xff0c;推動換電站作為分布式儲能在虛擬電廠項目上的應用。 蔚來換電站是國內首個智慧微電網型分布式換電設施&#xff0c;可透過換電訂單預…

軟考-系統集成項目管理中級-信息系統建設與設計

本章重點考點 1.信息系統的生命周期 信息系統建設的內容主要包括設備采購、系統集成、軟件開發和運維服務等。信息系統的生命周期可以分為四個階段:立項、開發、運維和消亡。 2.信息系統開發方法 信息系統常用的開發方法有結構化方法、原型法、面向對象方法等 1)結構化方法 …

AI智能分析網關V4:抽煙/打電話/玩手機行為AI算法及場景應用

抽煙、打電話、玩手機是人們在日常生活中常見的行為&#xff0c;但這些行為在某些場合下可能會帶來安全風險。因此&#xff0c;對于這些行為的檢測技術及應用就變得尤為重要。今天來給大家介紹一下TSINGSEE青犀AI智能分析網關V4抽煙/打電話/玩手機檢測算法及其應用場景。 將監控…

java項目打包運行報異常:xxxxx-1.0-SNAPSHOT.jar中沒有主清單屬性

pom.xml中加入這段話即可 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.4.4</version><executions><execution><…

安泰ATA-7050高壓放大器在微流控細胞分選中的應用

微流控細胞分選是一種用于分離和鑒定生物樣本中特定類型細胞的技術&#xff0c;其原理基于將生物細胞通過微通道進行操縱和區分。微流控細胞分選的原理主要基于流體力學、電氣學、光學和熱力學等多學科的交叉應用。通過設計具有特定尺寸和性質的微通道網絡&#xff0c;可實現對…

RV1126芯片概述

RV1126芯片概述 前言1 主要特性2 詳細參數 前言 1 主要特性 四核 ARM Cortex-A7 and RISC-V MCU250ms快速開機2.0Tops NPU14M ISP with 3幀 HDR支持3個攝像頭同時輸入4K H.264/H.265 視頻編碼和解碼 2 詳細參數