原创 shell編程(七)case語句

C/C++中的case語句 int main() { int num; cin >> num; switch (num) { case 1: cout << "case 1" << endl; break; c

原创 shell編程(六)while循環

C/C++中的while循環 int i = 0; while (i < num) { //do something } 優點:邏輯比較清晰,使用括號進行分割。 shell中的while循環 1. 第一種方式 #!/bin/b

原创 shell編程(五)for語句

C/C++中的for循環語句 if (i = 0; i < num; ++i) { //do something } 在C/C++中使用小括號花括號的形式將判斷語句和邏輯語句進行區分,比較容易進行識別,也比較容易進行書寫。 s

原创 shell編程(三)if語句

C/C++中的if語句 在C/C++中,if條件判斷語句如下所示: if(a > b) cout<<"a>b"<<endl; else cout<<"a<=b"<<endl; 條件滿足:執行cout<<"a>b"<<endl

原创 解決哈希衝突的7種辦法

哈希函數的選取 哈希函數可以有很多種,如下所示 除留餘數法 直接定址法 平方取中法 隨機數法 等等等等,所以,在根據不同的場景可以制定不同的哈希函數,這樣就可以減少哈希衝突出現的概率。 閉散列中的線性探測和二次探測 線性探測

原创 stringstream的用法

stringstream概述 頭文件:< sstream > 繼承自:< iostream> 自身的成員函數:構造, rdbuf, str str:將緩衝區中的數據以string的形式轉換。返回值爲string。 繼承的主要

原创 快速排序的四種優化方式

快速排序的四種優化方式 本文只講述概念。 選用基準值(不在四種優化方式中) 選用基準值有三種方式,選用的基準值較好,快速排序的性能也會較好。 固定基準(也就是從begin的位置,作爲排序的基準,沒有一點優化,簡單的快排方式都是這

原创 線程池和多線程的區別

線程池的概念 線程池大類總共分爲4種 fixThreadPool 正規線程(傳統線程池) cacheThreadPool 緩存線程池 singleThreadPoll 單線程線程池(單例線程池) ScheduledThr

原创 子網劃分方式詳解

子網劃分的原因 我們知道,IP地址(IPv4)是一個4字節32位的正整數,所以,在同一網絡中,一共最多能夠放下2的32次方個主機,約等於43億個主機,這就意味着,總共又43億主機能夠接入同一網絡。但是到目前來看,這遠遠是不足以當今

原创 五種IO模型

五種IO模型 同步阻塞IO 同步非阻塞IO IO多路複用(select、poll、epoll) 信號驅動IO(SIGIO) 異步IO(POSIX 的 aio_系列函數) 首先先說明一點概念,IO執行的兩個階段 在進行IO操作時

原创 AVL樹的旋轉(二叉平衡樹)

概念 二叉搜索樹概念:https://blog.csdn.net/weixin_43796685/article/details/104345502 AVL樹代碼: https://github.com/DHaoYu/C-Cplu

原创 Session、Cookie與Application的區別

聯繫 Cookie和Session都是客戶端和服務器之間保持交互狀態的解決方案,Application是web應用中,爲應用程序提供了一個全局的狀態,所有的客戶端都可以使用該狀態 Cookie Cookie是一小段的文本信息。當客

原创 TCP與UDP的區別(超詳細)

總結 TCP是面向連接的,UDP是無連接的 TCP是可靠的,UDP是不可靠的 TCP是面向字節流的,UDP是面向數據報文的 TCP只支持點對點通信,UDP支持一對一,一對多,多對多 TCP報文首部20個字節,UDP首部8個字節

原创 哈希表的開散列和閉散列(C++實現)

hash概念 哈希算法將任意長度的二進制值映射爲較短的固定長度的二進制值,這個小的二進制值稱爲哈希值。哈希值是一段數據唯一且極其緊湊的數值表示形式。 搜索方法:可以進行少量的比較,1次或者2-3次從數據中得到要搜索的數據,是大量數

原创 一致性哈希

簡介 轉自:五分鐘理解一致性哈希算法 一致性hash算法提出了在動態變化的cache環境中,判定哈希算法好壞的四個定義。 平衡性:平衡性是指哈希的結果能夠儘可能分佈到所有的緩衝中去,這樣可以使得所有的緩衝空間都得到利用。很多哈希