原创 判斷出棧的合法性

元素出棧,入棧的合法性。如:入棧序列(12345)出棧爲(54321)則合法。出棧爲(45231)不合法#include<iostream> #include<stack> #include<assert.h> using namesp

原创 多線程

一:進程可以簡單的理解爲一個可以獨立運行的程序單位。它是線程的集合,進程就是有一個或多個線程構成的,每一個線程都是進程中的一條執行路徑。 二:多線程就很容易理解:多線程就是指一個進程中同時有多個執行路徑(線程)正在執行。 三:爲什麼要是用

原创 海量數據處理的總結

一.給一個超過100G大小的log file,log中存着IP地址,設計算法找到出現次數最多的IP地址1.切分文件:因爲ip地址是32位的(ipv4)的字符串,當100G放不下,我們要對其進行切分,切分成1000個小文件,再對每個文件編號

原创 靜態庫,動態庫

靜態庫這樣就好了動態庫爲什麼windows 的動態庫和linux的動態庫不能相互使用根本原因:格式不一樣,解析規則不一樣動態庫和靜態庫的重要區別靜:編譯時就和可執行文件編譯到一起 動:運行時纔去加載多個進程用同一個動態庫。動態庫相比於靜態

原创 基於UDP和TCP實現CS

1.我們應該先了解UDP和TCP協議首先UDP和TCP是基於傳輸層的協議我們需要了解UDP和TCP的特性TCP協議的特性:(1) 面向連接的服務;(2) 可靠的數據傳輸服務;(3) 面向字節流。UDP協議的特性:(1) 無連接服務;(2)

原创 Linux中重要目錄及重要命令

Linux下的重要目錄/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp (1)/proc:特殊文件目錄。這個目錄採用一種特殊的文件格式(proc格式,內核支持這種

原创 ping命令

ping命令我們經常用 [ping +ip地址 ]於檢查側網絡的通斷,但是除了這個還有好多用法我們可以在Windows下通過 ping Enter 查看其用法 

原创 變色的進度條

//strip.c #include<stdio.h> #include"color.h" #include<unistd.h> #define M 100 int main() { char ch='#'; char str

原创 linux 權限探索

1。進入目錄需要哪些權限 r–read的權限 w–write的權限 x–修改可執行權限 通過這一系列的操作可以看出只有擁有x權限纔可以cd 到目錄下面 2 在目錄中執行增刪查…(cd, touch, ls, rm, mv)

原创 智能指針

要說智能指針我們應該先了解一下RAII RAII(Resource Acquisition Is Initialization),也成爲“資源獲取就是初始化”,是C++語言的一種管理資源、避免泄漏的慣用法。C++標準保證任何情況下,已構

原创 vector和list的使用

vector和list的區別 1.在存儲中 vector是連續存儲的;list中的對象不一定是連續存儲的。 2.list如果要隨機訪問某個元素需要遍歷list,沒有效率。vector重載了[ ]可以直接訪問。 3.在list中插入元

原创 PCB--task_struct

要說task_stuct,必須要說進程控制塊 PCB (Process Control Block),PCB是作爲進程是否存在的標誌。(如果有心得PCB產生就說明有進程產生)進程信息被放在一個叫做進程控制塊的數據結構中,可以理解爲進程屬性

原创 多態和多態對象模型

1 單繼承的多態,以以下代碼爲例 class A { public: virtual void f1() { cout<<"A::f1"<<endl; } virtual void f2()