藍橋杯算法日常|c\c++常用競賽函數總結備用

一、字符處理相關函數

  • 大小寫判斷函數
    • islower和isupper:是C++標準庫中的字符分類函數,用于檢查一個字符是否為小寫字母或大寫字母,需包含頭文件cctype.h(也可用萬能頭文件包含)。返回布爾類型值。例如:
#include <iostream> 
#include <cctype.h> 
int main() { 
char c1 = 'a';
char c2 = 'A'; 
if (islower(c1)) { 
std::cout << "is lowercase letter" << std::endl;}else {
std::cout << "not a lowercase letter" << std::endl; 
} 
if (isupper(c2)) { 
std::cout << "is uppercase letter" << std::endl;
}else { 
std::cout << "not a uppercase letter" << std::endl; 
}
return 0; 
}
  • 大小寫轉換函數
    • tolower和toupper:tolower(char c)可以將c轉換為小寫字母,如果c是小寫字母則不進行操作;toupper函數同理。例如:
#include <iostream> 
int main() { 
char c1 = 'A';char c2 = 'b';char lowercasec1 = tolower(c1);std::cout << c1 << "的小寫形式為:" << lowercasec1 << std::endl;char uppercasec2 = toupper(c2);std::cout << c2 << "的大寫形式為:" << uppercasec2 << std::endl;return 0; 
}
  • ASCII碼表轉換大小寫使用:c-'A'+'a';? ? ? ? c-'a'+'A';
  • 字符1變成數字1 可以:'1'-'0'

?

二、排序相關函數

  • sort函數
    • 基本信息:sort函數包含在頭文件algorithm中(也可使用萬能頭文件),是一個函數模板,用于對指定范圍內的元素進行排序,使用的是快速排序(QuickSort)或者類似快速排序的改進算法,一般平均時間復雜度為O(nlogn)。
    • 用法:sort(起始地址,結束地址的下一位,*比較函數)。例如:
 

#include <iostream> #include <algorithm> // #include <bits/stdc++.h> using namespace std; int main() { int a[1000]; int n; cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; sort(a + 1, a + n + 1); for (int i = 1; i <= n; i++) cout << a[i] << " "; return 0; }

 

- **自定義比較函數**:sort默認使用小于號進行排序,如果想要自定義比較規則,可以傳入第三個參數(可以是函數或lambda表達式)[3]()。

三、數學函數

  • 常用數學函數:abs(求絕對值)、ceil(向上取整)、floor(向下取整)、sqrt(求平方根)、pow(冪運算)、log(對數運算)、exp(指數運算)、sin(正弦函數)、cos(余弦函數)、tan(正切函數)等。

四、字符串函數

  • char類型相關:strlen(求字符串長度)、strcmp(比較兩個字符串)、strcpy(字符串復制)、strcat(字符串連接)、strstr(在一個字符串中查找另一個字符串)、isdigit(判斷字符是否為數字)、isalpha(判斷字符是否為字母)等。
  • string類相關:.size()(獲取字符串長度,等同于length())、.empty()(判斷字符串是否為空)、.clear()(清空字符串)、.append()(追加字符串)、.insert()(插入字符串)、.erase()(刪除字符串中的字符)、.replace()(替換字符串中的字符)、.substr()(獲取子字符串)、.find()(查找字符或子字符串)、rfind()(從右向左查找字符或子字符串)、.compare()(比較字符串)、.c_str()(轉換為C風格字符串)、.stoi()(將字符串轉換為整型)、.stod()(將字符串轉換為雙精度型)、.to_string()(將數字轉換為字符串)等。

五、STL容器相關函數

  • vector(動態數組)
    • 使用push_back()添加元素,使用[]或at()訪問元素,使用size()獲取元素個數。
  • deque(雙端隊列):暫未詳細提及用法。
  • list(雙向鏈表)
    • 使用push_back()和push_front()添加元素,使用begin()和end()訪問元素,使用size()獲取元素個數。
  • set(集合)
    • 紅黑樹結構,使用insert()添加元素,使用find()查找元素,使用size()獲取元素個數。
  • map(映射):暫未詳細提及特殊用法。
  • unordered_set(哈希表)
    • 使用insert()添加元素,使用find()查找元素,使用size()獲取元素個數。
  • unordered_map(哈希表):暫未詳細提及特殊用法。

六、其他函數

  • 輸入輸出函數:例如iostream中的cin和cout用于基本的輸入輸出操作。
  • memset、memcpy:用于內存的設置和復制操作。
  • rand、time:rand用于生成隨機數,time可用于獲取時間(常與隨機數生成配合使用,如設置隨機數種子)。
  • assert:用于在程序中進行斷言檢查,如果條件不滿足則終止程序。
  • atoi:將字符串轉換為整型。

七、二分查找

前提是庫函數只能對數組進行二分查找,數組中的元素都是單調的。

binary_search(numbers.begin(),numbers.end(),target);函數確定序列中是否存在某元素,返回bool值。

未完待續

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

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

相關文章

微服務知識——4大主流微服務架構方案

文章目錄 1、微服務聚合模式2、微服務共享模式3、微服務代理模式4、微服務異步消息模式 微服務是大型架構的必經之路&#xff0c;也是大廠重點考察對象&#xff0c;下面我就重點詳解4大主流微服務架構方案。 1、微服務聚合模式 微服務聚合設計模式&#xff0c;解決了如何從多個…

【HTML+CSS】使用HTML與后端技術連接數據庫

目錄 一、概述 1.1 HTML前端 1.2 后端技術 1.3 數據庫 二、HTML表單示例 三、PHP后端示例 3.1 連接數據庫 3.2 接收數據并插入數據庫 四、安全性 4.1 防止SQL注入 4.2 數據驗證與清洗 五、優化 5.1 索引優化 5.2 查詢優化 六、現代Web開發中的最佳實踐 6.1 使用…

T-SQL語言的數據庫編程

T-SQL語言的數據庫編程 1. 引言 在信息化迅速發展的今天&#xff0c;數據庫已經成為數據管理和使用的重要工具。其中&#xff0c;T-SQL&#xff08;Transact-SQL&#xff09;作為微軟SQL Server的擴展SQL語言&#xff0c;不僅用于數據查詢和管理&#xff0c;還能夠進行復雜的…

通信協議—WebSocket

一、WebSocket編程概念 1.1 什么是WebSocket WebSocket 是一種全雙工通信協議&#xff0c;允許在客戶端&#xff08;通常是瀏覽器&#xff09;和服務器之間建立持久連接&#xff0c;以實現實時的雙向通信。它是 HTML5 標準的一部分&#xff0c;相比傳統的 HTTP 請求&#xff…

cadence筆記--畫PMU6050原理圖和封裝

簡介 本文主要介紹使用Cadence自己畫一個PMU6050的原理圖PCB的實際用例&#xff0c;Cadence使用的是24.1版本。 原理圖 首先獲取PMU6050引腳參數&#xff0c;使用立創商城查詢PMU6050型號&#xff0c;點擊數據手冊如下圖所示&#xff1a; 如下圖所示&#xff0c;左邊是原理圖&…

CSS3 3D 轉換介紹

CSS3 中的 3D 轉換提供了一種在二維屏幕上呈現三維效果的方式&#xff0c;主要包括translate3d、rotate3d、scale3d等轉換函數&#xff0c;下面來詳細介紹&#xff1a; 1. 3D 轉換的基本概念 坐標系 在 CSS3 的 3D 空間中&#xff0c;使用的是右手坐標系。X 軸是水平方向&…

Text2SQL 智能報表方案介紹

0 背景 Text2SQL智能報表方案旨在通過自然語言處理&#xff08;NLP&#xff09;技術&#xff0c;使用戶能夠以自然語言的形式提出問題&#xff0c;并自動生成相應的SQL查詢&#xff0c;從而獲取所需的數據報表&#xff0c;用戶可根據得到結果展示分析從而為結論提供支撐&#…

FFmpeg音視頻采集

文章目錄 音視頻采集音頻采集獲取設備信息錄制麥克風錄制聲卡 視頻采集攝像機畫面采集 音視頻采集 DirectShow&#xff08;簡稱DShow&#xff09;是一個Windows平臺上的流媒體框架&#xff0c;提供了高質量的多媒體流采集和回放功能&#xff0c;它支持多種多樣的媒體文件格式&…

【漫話機器學習系列】056.F1值(F1 score)

F1值&#xff08;F1 Score&#xff09; 定義 F1值是機器學習中一種用于評估模型性能的指標&#xff0c;特別適合用于 不平衡數據集 的分類任務。它是 精確率&#xff08;Precision&#xff09; 和 召回率&#xff08;Recall&#xff09; 的調和平均值。通過綜合考慮精確率和召…

Mac安裝Homebrew

目錄 安裝修改homeBrew源常用命令安裝卸載軟件升級軟件相關清理相關 安裝 官網 https://brew.sh/不推薦官網安裝方式&#xff08;很慢很慢或者安裝失敗聯網失敗&#xff09; 檢測是否安裝homebrewbrew -v執行安裝命令 蘋果電腦 常規安裝腳本 &#xff08;推薦 完全體 幾分鐘就…

在K8S中,如果后端NFS存儲的IP發送變化如何解決?

在Kubernetes中&#xff0c;如果后端NFS存儲的IP地址發生了變化&#xff0c;您需要更新與之相關的Peristent Volume(PV)或Persistent Volume Claim(PVC)以及StorageClass中關于NFS服務器IP的配置信息&#xff0c;確保K8S集群內的Pod能夠正確連接到新的NFS存儲位置。解決方案如下…

一文大白話講清楚webpack基本使用——9——預加載之prefetch和preload以及webpackChunkName的使用

文章目錄 一文大白話講清楚webpack基本使用——9——預加載之prefetch和preload1. 建議按文章順序從頭看&#xff0c;一看到底&#xff0c;豁然開朗2. preload和prefetch的區別2. prefetch的使用3. preload的使用4. webpackChunkName 一文大白話講清楚webpack基本使用——9——…

【Elasticsearch 】 聚合分析:桶聚合

&#x1f9d1; 博主簡介&#xff1a;CSDN博客專家&#xff0c;歷代文學網&#xff08;PC端可以訪問&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移動端可微信小程序搜索“歷代文學”&#xff09;總架構師&#xff0c;15年工作經驗&#xff0c;精通Java編…

tensorflow源碼編譯在C++環境使用

https://tensorflow.google.cn/install/source?hlzh-cn查看tensorflow和其他需要下載軟件對應的版本&#xff0c;最好一模一樣 1、下載TensorFlow源碼 https://github.com/tensorflow/tensorflow 2、安裝編譯protobuf&#xff08;3.9.2&#xff09; protobuf版本要和TensorFlo…

P8738 [藍橋杯 2020 國 C] 天干地支

兩種方法 #include<bits/stdc.h> using namespace std;int main(){int year;cin>>year;string tg[10] {"geng", "xin", "ren", "gui","jia", "yi", "bing", "ding", "wu&…

Python 常用運維模塊之OS模塊篇

Python 常用運維模塊之OS模塊篇 OS 模塊獲取當前工作目錄更改當前工作目錄返回當前目錄路徑返回上一級目錄路徑遞歸生成目錄路徑刪除目錄創建目錄刪除目錄列出特定目錄下文件和子目錄刪除某個特定文件重命名某個文件獲取某個文件/目錄的信息輸出目錄路徑分隔符輸出文件行終止符…

uniapps使用HTML5的io模塊拷貝文件目錄

最近在集成sqlite到uniapp的過程中&#xff0c;因為要將sqlite數據庫預加載&#xff0c;所以需要使用HTML5的plus.io模塊。使用過程中遇到了許多問題&#xff0c;比如文件路徑總是解析不到等。尤其是應用私有文檔目錄’_doc’。 根據官方文檔&#xff1a; 為了安全管理應用的…

使用 F12 查看 Network 及數據格式

在瀏覽器中&#xff0c;F12 開發者工具的 “Network” 面板是用于查看網頁在加載過程中發起的所有網絡請求&#xff0c;包括 API 請求&#xff0c;以及查看這些請求的詳細信息和響應數據的。以下以常見的 Chrome 瀏覽器為例&#xff0c;介紹如何使用 F12 控制臺查看 Network 里…

Redis 2.6.12在Win10系統上的安裝教程

諸神緘默不語-個人CSDN博文目錄 這個版本的安裝包是跟同事要的&#xff0c;em&#xff0c;如果真的需要這個版本的話可以跟我要&#xff1a; 解壓后雙擊第一個bat文件&#xff0c;即可掛起Redis服務&#xff1a;

分布式數據庫中間件(DDM)的使用場景

華為云分布式數據庫中間件&#xff08;DDM&#xff09;是一款專注于解決數據庫分布式擴展問題的中間件服務&#xff0c;突破了傳統數據庫的容量和性能瓶頸&#xff0c;能夠實現海量數據的高并發訪問。以下是九河云總結的DDM的典型使用場景&#xff1a; 1. 互聯網應用 在電商、…