原创 system V 消息隊列(msg)

頭文件: sys/msg.h 查看: ipcs命令 結構體: 自定義消息緩衝區結構msgbuf: mtype: 消息類型(必須是long型;必須是結構體第一個變量)。 mtext: 消息數據(可以隨意定義)。 例子: struct m

原创 C++中cout格式化輸出的相關函數與控制符

cout<< <<爲插入運算符,重載後可識別C++中的所有基本類型(unsigned signed char short int long float double以及組合) ostream& operator<<(type);

原创 C++基礎——類與對象(上)

面向對象四大特徵: 特徵 說明 類比 抽象 抽出具體事物的普遍性的本質 分門別類:鳥

原创 C++基礎——類與對象(下)

賦值運算符重載函數 類名& operater=(const 類名& 形參){ // 賦值操作 return *this; } 調用時機: 賦值 代碼 Bill Bill::operator=(const Bill& b){ pr

原创 檢測“雙重疊“字符串C++實現

用雙指針進行遍歷,當兩個字符一樣的時候再用循環判斷是否是雙重疊。#include <iostream> using namespace std; int main() { while(1){ string a; cin>>a; if

原创 線程間的讀寫鎖

共享獨佔: 讀取鎖——共享 寫入鎖——獨佔 即:讀鎖可以加多個;有寫鎖時,讀寫鎖都加不上;有讀鎖時,可以加讀鎖而不能加寫鎖。 靜態分配讀寫鎖: pthread_rwlock_t  rwlock = PTHREAD_RWLOCK_INITI

原创 線程池編程

概念: 爲什麼————頻繁創建和銷燬線程浪費CPU資源。 是什麼————一堆線程放在一個池子裏統一管理。 流程: 1.初始化線程池、任務隊列和工作線程。 2.向任務隊列中添加任務。 3.將等候在條件變量(任務隊列上的任務)上的一個線程喚醒

原创 socket接口轉換操作(網絡序與主機序)

頭文件: <:arpa/inet.h> 字節序轉換操作: 網絡序轉主機序: unit 16_t  ntohs(unit16_t  net_short); network  to  host  short。 把unsigned  sho

原创 歡迎使用CSDN-markdown編輯器

歡迎使用Markdown編輯器寫博客 本Markdown編輯器使用StackEdit修改而來,用它寫博客,將會帶來全新的體驗哦: Markdown和擴展Markdown簡潔的語法 代碼塊高亮 圖片鏈接和圖片上傳 LaTex數學公式 UM

原创 最大子序列和問題O(N)

問題描述: 給定一整數序列A1, A2,... An (可能有負數),求A1~An的一個子序列Ai~Aj,使得Ai到Aj的和最大。 解決思想: 要想讓時間複雜度爲O(N),就只能用一個for(或while等的)循環。即遍歷一遍數組。 1.

原创 IO複用

概念:多路網絡連接複用一個IO線程。如果用監控來自10根不同地方的水管(I/O端口)是否有水流到達(即是否可讀),那麼需要10個人(即10個線程或10處代碼)來做這件事。如果利用某種技術(比如攝像頭)把這10根水管的狀態情況統一傳達到某一

原创 判斷單鏈表中是否有環/兩列表是否相交系列問題及C++實現

題目:1.給一個單鏈表,判斷其中是否有環的存在;2.如果存在環,求出環上節點的個數;3.如果存在環,找出環的入口點;4.如果存在環,求出鏈表的長度;5.如果存在環,求出環上距離任意一個節點最遠的點(對面節點);6.(擴展)如何判斷兩個無環

原创 (C++實現)輸入兩個鏈表,找出它們的第一個公共結點

方法一:先數出兩條鏈表的長度,得到長度差d,先將長鏈表從頭結點往後走d步,之後第二個鏈表從頭開始,兩個鏈表一起一步一步走,直到兩個鏈表的節點第一次相等爲止,此時指針位置即爲所求。 ListNode* FindFirstCommonN