原创 epoll詳解(二)-- epoll工作模式

本文要點: 1. epoll 兩種工作模式 2. epoll 工作模式的選擇 3. epoll 編程需要注意的問題 epoll 兩種工作模式 epoll模型有兩種工作方式水平觸發(LT,level trig

原创 數據結構(一) -- 循環隊列數組實現

隊列的描述 隊列的主要特徵是先進先出(FIFO),這意味着先進入隊列的元素將會首先出隊,與生活中的排隊一樣。 循環隊列 爲了更好的利用資源,在編程時,經常把隊列實現爲循環隊列(不懂自行百度,太多講解了)。 注:在循環隊列中空和滿的條件需

原创 linux select()詳解( 四)-- Unix域字節流最簡實例

通過本文你會瞭解到: 1. Unix域字節流 server的實例 2. Unix域字節流 client的實例 3. Unix域 字節流server和client的運行測試 4. Unix域 C/S模型的思

原创 數據結構和算法文章總目錄

本系列文章主要對數據結構和算法進行學習,並給出完成的代碼實例,希望能一起進步。 二分法查找(Binary Search) 數據結構(一) – 循環隊列數組實現 數據結構(二) – 棧 數組實現 數據結構(三) – 單向鏈表

原创 linux文章總目錄

linux文章總目錄 1. linux信號機制基礎 2. linux進程編程(一)– fork()函數簡單應用 3. linux進程編程(二)– waitpid()函數使用 4. linux進程編程(三)– execl()

原创 STL學習--deque

簡介 deque是一種雙向開口的連續空間,可以在頭尾兩端進行添加和刪除操作。不同與vector的是deque是一段段的連續空間,這些連續空間由中控器map(不是stlmap)管理, 以提供一種類似的連續性。緩衝區大小爲512。 中控管理圖

原创 C++文章總目錄

STL學習–順序容器操作 STL學習–vector STL學習–list STL學習–deque STL學習-map STL學習–set STL學習–stack STL學習–queue priority_queue

原创 STL學習--queue priority_queue

簡介 queue是一種先入先出(FIFO)的數據結構,它有兩個出口,允許從底端加入元素,從頂端移除元素。STL底層默認基於deque容器實現,可在創建是更改list:queue< string, list<string> > str_q

原创 STL學習--vector

簡介 vector的數據結構爲連續的線性空間,支持快速隨機訪問。在配置大小時可能會比需求的更大一些,這便是容量(capacity)概念。 特性 vector實際分配的空間小於等於其容量(capacity)。 vector支持快速隨機訪問

原创 STL學習--set

簡介 map是鍵-值的集合,而set是單純的鍵的集合。set不支持下標操作,value_type不是pair類型而是於key_type相同的類型。set底層實現爲RB-Tree。 特性 set根據鍵值自動排序。 set中鍵值是唯一不重

原创 應用正則表達式判斷IP/MAC/DNS合法性

C中使用正則表達式 在C語言中使用正則表達式也是件很簡單的事,但真正會用的人好像很少啊真是遺憾。其實應用正則表達式判斷一些格式的合法性非常方便。下面就舉幾個例子先睹爲快。 本文例子都經過測試可放心使用。 正則表達式封裝 我們不必關心正則

原创 隊列(Queue)-- 數組實現(C++ )

什麼是隊列? 隊列是一種先入先出的數據結構(FIFO),只允許在前端(front)刪除,在後端(rear)插入。 那麼怎麼實現隊列呢? 數組實現 變量 前端: front 後端: rear 存儲數組: queue 容量: capacit

原创 STL學習--list

簡介 list是一個環狀鏈表,在鏈表的結尾用一個空白結點代替(即結點的值爲空)。區別於vector的連續空間,list在每次添加和刪除元素時,都會進行內存的申請和釋放。 特性 list添加或刪除元素時都會進行內存申請和釋放 list支持

原创 數據結構(四) -- 二叉樹

簡介 二叉樹(Binary Tree)的特點時每個父節點最多只能有兩個子節點,通常子樹被稱作“左子樹”(Left Subtree)和“右子樹”(Right Subtree)。 二叉樹的實現詳解 樹結構 二叉樹結點(樹結點)包括: 左孩子結

原创 STL學習--stack

簡介 stack是一中後入先出(LIFO)的數據結構,它只有一個出口,只可以對頂端元素進行操作。STL底層默認基於deque容器實現。 在創建適配器時,通過將一個順序容器指定爲適配器的第二個類型實參,可覆蓋默認的容器類型。 stack<