數據結構之線性表的類型運用Linear Lists: 數組,棧,隊列,鏈表

線性表

定義

一個最簡單,最基本的數據結構。一個線性表由多個相同類型的元素穿在一次,并且每一個元素都一個前驅(前一個元素)和后繼(后一個元素)。

線性表的類型

常見的類型:數組、棧、隊列、鏈表

這些不同數據結構的特性可以解決不同種類的問題

P3156 【深基15.例1】詢問學號

題面

題目描述

有 n(n≤2×106)?名同學陸陸續續進入教室。我們知道每名同學的學號(在?1?到?109?之間),按進教室的順序給出。上課了,老師想知道第?i?個進入教室的同學的學號是什么(最先進入教室的同學?i=1),詢問次數不超過?105?次。

輸入格式

第一行?2?個整數 n?和?m,表示學生個數和詢問次數。

第二行?n?個整數,表示按順序進入教室的學號。

第三行?m?個整數,表示詢問第幾個進入教室的同學。

輸出格式

輸出?m?個整數表示答案,用換行隔開。

輸入輸出樣例

輸入 #1?

10 3
1 9 2 60 8 17 11 4 5 14
1 5 9

輸出 #1?

1
8
5

題解

可以直接設計一個數組記錄每個學生的學號,并查詢那m個詢問即可。還有一種做法是使STL中的容器Vector,又稱可變長度數組,為了避免空間開的太大兒出現程序性錯誤。我在介紹STL的一篇博客寫到過vector的常用操作例如
vector<int> v;

v.push_back(a);

v.size();

v.resize(n,m);?

等等,因此,這道題可以一個一個把學號讀入然后pushback進這個可變長度數組。

代碼

#include<iostream>
#include<vector>
using namespace std;int n,m,tmp;
int main(){vector<int> stu;cin>>n>>m;for(int i=0;i<n;i++){cin>>tmp;stu.push_back(tmp);}for(int i=0;i<m;i++){cin>>tmp;cout<<stu[tmp-1]<<endl;}return 0;
}

P3613 【深基15.例2】寄包柜

題面

題目描述

超市里有 n(1≤n≤105)?個寄包柜。每個寄包柜格子數量不一,第?i?個寄包柜有 ai?(1≤ai?≤105)?個格子,不過我們并不知道各個 ai??的值。對于每個寄包柜,格子編號從 1 開始,一直到?ai?。現在有 q(1≤q≤105)?次操作:

  • 1 i j k:在第?i?個柜子的第?j?個格子存入物品 k(0≤k≤109)。當 k=0?時說明清空該格子。
  • 2 i j:查詢第?i?個柜子的第?j?個格子中的物品是什么,保證查詢的柜子有存過東西。

已知超市里共計不會超過?107 個寄包格子,ai??是確定然而未知的,但是保證一定不小于該柜子存物品請求的格子編號的最大值。當然也有可能某些寄包柜中一個格子都沒有。

輸入格式

第一行 2 個整數?n?和?q,寄包柜個數和詢問次數。

接下來?q?個整數,表示一次操作。

輸出格式

對于查詢操作時,輸出答案,以換行隔開。

輸入輸出樣例

輸入 #1?

5 4
1 3 10000 118014
1 1 1 1
2 3 10000
2 1 1

輸出 #1?

118014
1

題解

代碼

B3630 排隊順序

題面

題目描述

有 n(2≤n≤106)?個小朋友,他們的編號分別從?1?到?n。現在他們排成了一個隊伍,每個小朋友只知道他后面一位小朋友的編號。現在每個小朋友把他后面是誰告訴你了,同時你還知道排在隊首的是哪位小朋友,請你從前到后輸出隊列中每個小朋友的編號。

輸入格式

第一行一個整數?n,表示小朋友的人數。

第二行?n?個整數,其中第?i?個數表示編號為?i?的小朋友后面的人的編號。如果這個數是?0,則說明這個小朋友排在最后一個。

第三行一個整數??,表示排在第一個的小朋友的編號。

輸出格式

一行?n?個整數,表示這個隊伍從前到后所有小朋友的編號,用空格隔開。

輸入輸出樣例

輸入 #1復制

6
4 6 0 2 3 5
1

輸出 #1復制

1 4 2 6 5 3

題解

代碼

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

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

相關文章

mysql、redis面試題

mysql 相關 1、數據庫優化查詢方法 外鍵、索引、聯合查詢、選擇特定字段等等2、簡述mysql和redis區別 redis&#xff1a; 內存型非關系數據庫&#xff0c;數據保存在內存中&#xff0c;速度快mysql&#xff1a;關系型數據庫&#xff0c;數據保存在磁盤中&#xff0c;檢索的話&…

[Go版]算法通關村第十二關黃金——字符串沖刺題

目錄 題目&#xff1a;最長公共前綴解法1&#xff1a;縱向對比-循環內套循環寫法復雜度&#xff1a;時間復雜度 O ( n ? m ) O(n*m) O(n?m)、空間復雜度 O ( 1 ) O(1) O(1)Go代碼 解法2&#xff1a;橫向對比-兩兩對比&#xff08;類似合并K個數組、合并K個鏈表&#xff09;復…

okhttp下載文件 Java下載文件 javaokhttp下載文件 下載文件 java下載 okhttp下載 okhttp

okhttp下載文件 Java下載文件 javaokhttp下載文件 下載文件 java下載 okhttp下載 okhttp 1、引入Maven1.1、okhttp發起請求官網Demo 2、下載文件3、擴充&#xff0c;讀寫 txt文件內容3.1讀寫內容 示例 http客戶端 用的是 okhttp&#xff0c;也可以用 UrlConnetcion或者apache …

SD WebUI 擴展:prompt-all-in-one

sd-webui-prompt-all-in-one 是一個基于 Stable Diffusion WebUI 的擴展&#xff0c;旨在提高提示詞/反向提示詞輸入框的使用體驗。它擁有更直觀、強大的輸入界面功能&#xff0c;它提供了自動翻譯、歷史記錄和收藏等功能&#xff0c;它支持多種語言&#xff0c;滿足不同用戶的…

[MAUI]在.NET MAUI中實現可拖拽排序列表

文章目錄 創建可拖放控件創建綁定服務類拖拽&#xff08;Drag&#xff09;拖拽懸停&#xff0c;經過&#xff08;DragOver&#xff09;釋放&#xff08;Drop&#xff09; 創建頁面元素最終效果項目地址 .NET MAUI 中提供了拖放(drag-drop)手勢識別器&#xff0c;允許用戶通過拖…

Mysql驅動包下載

第一步&#xff1a;下載地址 MySQL :: Download Connector/J 第二步&#xff1a; 第三步&#xff1a; 第四步&#xff1a;解壓 第五步&#xff1a;找到驅動包&#xff0c;放入項目使用即可

管理類聯考——邏輯——真題篇——按知識分類——匯總篇——三、綜合推理

文章目錄 題-綜合推理-分類1-排序真題&#xff08;2016-54-55&#xff09;-難度最高*****-綜合推理-分類1-排序-畫表排除法真題&#xff08;2016-54&#xff09;真題&#xff08;2016-55&#xff09;真題&#xff08;2019-36&#xff09;-綜合推理-分類1-排序真題&#xff08;2…

【AIGC】 國內版聊天GPT

國內版聊天GPT 引言一、國內平臺二、簡單體驗2.1 提問2.2 角色扮演2.3 總結畫圖 引言 ChatGPT是OpenAI發開的聊天程序&#xff0c;功能強大&#xff0c;可快速獲取信息&#xff0c;節省用戶時間和精力&#xff0c;提供個性化的服務。目前國產ChatGPT&#xff0c;比如文心一言&a…

OJ練習第151題——克隆圖

克隆圖 力扣鏈接&#xff1a;133. 克隆圖 題目描述 給你無向 連通 圖中一個節點的引用&#xff0c;請你返回該圖的 深拷貝&#xff08;克隆&#xff09;。 示例 分析 對于一張圖而言&#xff0c;它的深拷貝即構建一張與原圖結構&#xff0c;值均一樣的圖&#xff0c;但是…

C++中的類型擦除技術

文章目錄 一、C類型擦除Type Erasure技術1.虛函數2.模板和函數對象 二、任務隊列1.基于特定類型的方式實現2.基于任意類型的方式實現 參考&#xff1a; 一、C類型擦除Type Erasure技術 C中的類型擦除&#xff08;Type Erasure&#xff09;是一種技術&#xff0c;用于隱藏具體類…

Electron基礎篇

人生有些事,錯過一時,就錯過一世。 官網&#xff1a;簡介 | Electron Electron-大多用來寫桌面端軟件 Electron介紹 Electront的核心組成是Chromium、Node.js以及內置的Native API&#xff0c;其中Chromium為Electron提供強大的UI能力&#xff0c;可以在不考慮兼容的情況下利…

使用神卓互聯內網穿透搭建遠程訪問公司ERP系統

神卓互聯是一款企業級內網穿透軟件&#xff0c;可以將內網中的服務映射到公網上&#xff0c;實現內網服務的訪問。通過神卓互聯&#xff0c;您可以遠程訪問ERP系統。在使用神卓互聯進行內網穿透時&#xff0c;您只需要在生成的公網地址后面加上ERP系統的端口號&#xff0c;即可…

NVIDIA vGPU License許可服務器高可用全套部署秘籍

第1章 前言 近期遇到比較多的場景使用vGPU&#xff0c;比如Citrix 3D場景、Horizon 3D場景&#xff0c;還有AI等&#xff0c;都需要使用顯卡設計研發等&#xff0c;此時許可服務器尤為重要&#xff0c;許可斷掉會出現掉幀等情況&#xff0c;我們此次教大家部署HA許可服務器。 …

【.net】本地調試運行只能用localhost的問題

【.net】本地調試運行只能用localhost的問題 解決方案 找到到項目目錄下 隱藏文件夾 .vs /項目名稱/config/applicationhost.config <bindings><binding protocol"http" bindingInformation"*:1738:localhost" /></bindings> 再加一條你…

職業學院物聯網實訓室建設方案

一、概述 1.1專業背景 物聯網&#xff08;Internet of Things&#xff09;被稱為繼計算機、互聯網之后世界信息產業第三次浪潮&#xff0c;它并非一個全新的技術領域&#xff0c;而是現代信息技術發展到一定階段后出現的一種聚合性應用與技術提升&#xff0c;是隨著傳感網、通…

如何判斷自己是否適合游戲開發?

引言 游戲開發是一個充滿創意和技術挑戰的領域&#xff0c;吸引著越來越多的年輕人投身其中。然而&#xff0c;要想在游戲開發領域獲得成功&#xff0c;首先需要明確自己是否適合這個領域。本文將為你介紹一些判斷自己是否適合游戲開發的關鍵因素。 1. 技術興趣和編程能力 游…

Python 程序設計入門(024)—— Python 的文件操作

Python 程序設計入門&#xff08;024&#xff09;—— Python 的文件操作 目錄 Python 程序設計入門&#xff08;024&#xff09;—— Python 的文件操作一、文件對象二、讀取文件內容的方法1、read() 方法2、readline() 方法3、readlines() 方法4、使用 for 循環讀取文件內容 …

麥肯錫發布《2023科技趨勢展望報告》,生成式AI、下一代軟件開發成為趨勢,軟件測試如何貼合趨勢?

近日&#xff0c;麥肯錫公司發布了《2023科技趨勢展望報告》。報告列出了15個趨勢&#xff0c;并把他們分為5大類&#xff0c;人工智能革命、構建數字未來、計算和連接的前沿、尖端工程技術和可持續發展。 類別一&#xff1a;人工智能革命 生成式AI 生成型人工智能標志著人工智…

CSRF

文章目錄 CSRF(get)CSRF(post)CSRF Token CSRF(get) 根據提示的用戶信息登錄 點擊修改個人信息 開啟bp代理&#xff0c;點擊submit 攔截到請求數據包 瀏覽器關閉代理 刷新頁面 CSRF(post) 使用BP生成CSRF POC post請求偽造&#xff0c;可以通過釣魚網站&#xff0c;誘導用戶去…

docker 常用命令大全

1.查看docker版本&#xff1a; docker -v2.檢查 Docker 是否正在運行: systemctl status docker3.重啟docker服務: systemctl restart docker4.列出本地鏡像: docker images5.列出正在運行的容器&#xff1a; docker ps6.列出所有容器&#xff08;包括停止的&#xff09;&…