原创 NAT技術與代理服務器詳解

NAT技術原理與應用 1 概述 1.1 簡介 1.1.1 名詞解釋 公有IP地址:也叫全局地址,是指合法的IP地址,它是由NIC(網絡信息中心)或者ISP(網絡服務提供商)分配的地址,對外代表一個或多個內部局部地址,是全球統一的可

原创 實現無頭結點單鏈表的基本操作函數

基於單鏈表經常見的面試題——基礎篇 基於單鏈表的面試題——進階篇 什麼是無頭結點鏈表??? singlelinkedlist.h頭文件 #ifndef __SINGLELINKEDLIST_H__ #include<std

原创 對比線程安全和可重入函數

可重入函數 函數被不同的控制流程調用,有可能在第一次調用還沒返回時就再次 進入該函數,這稱爲重入。 然而有可能因爲重入而造成錯亂,像這樣 的函數稱爲不可重入函數, 反之,如果一個函數只訪問自己的局部變量或參數,則稱爲可重入 (

原创 路由表生成算法以及收斂路由原理

路由表簡介 路由:數據包從源地址到目的地址所需要經過的路徑,由一系列節點組成。 路由節點:一個具有路由功能的主機或者路由器,維護一張路由表,通過查詢路由表來決定向那個節點發送數據包。 路由表:由很多路由條目組成,每個條目都

原创 poll->epoll服務器

poll 相對於select來說,poll的優點: 1)能監視的文件描述符的數量沒有限制 2)poll輸入和輸出參數不是同一變量,輸入和輸出分離 缺點: 1)和select一樣,監視的文件描述符過多時,後序也許需要進行遍歷式訪問,

原创 shell腳本

shell腳本()單括號和“反引號的區別 注意:編寫shell腳本時,定義變量時不加$,使用時要加$,用以區別字符串。 首先,我們來看一個例子 #!/bin/bash a=1 b=2 c=`date "+%Y-%m-%d"` echo $

原创 二叉樹面試題以及線索化二叉樹

二叉樹面試題 完整代碼: #include <iostream> using namespace std; #include <queue> #include <stack> template<class T> //孩子表示法 stru

原创 遞歸->棧->隊列面試題

本文所有程序均已測試通過,測試結果圖就不一個一個再截圖了;讀者可以自己copy驗證一下;後期我會把思路圖補出來 1.行走機器人問題:貨架N個,機器人初始位置在pos,經過minutes分鐘後到達T有多少種方案 //行走機器人問題:貨架N

原创 TCP->多進程服務器->多進程服務器->線程池

TCP流式套接字 makefile .PHONY:all all : tcp_client tcp_server tcp_client : tcp_client.c gcc - o $@ $^ -static tcp_serve

原创 C++實現順序表->單鏈表->雙向鏈表

C++實現順序表 Seqlist.h #pragma once typedef int DataType; #include<assert.h> class Seqlist { public: Seqlist()//構造函數

原创 C++實現Vector->類型萃取和List->迭代器

容器 1.Vector(也可以稱之爲順序表) #include <iostream> using namespace std; #include <assert.h> template <class T> class Vector { p

原创 select服務器

selcet 特點: 1.用來讓我們的程序監視多個文件句柄的狀態變化,關心文件描述符的讀、寫、異常。 2.I/o當中select函數只負責等,一次等待多個文件描述符。 select函數原型inc select(int nfds,fd

原创 菱形繼承->菱形虛擬繼承(繼承系列問題)

//待解決:用C語言模擬實現繼承 繼承(繼承權限public->protected->private) 繼承是面向對象複用的重要手段,通過繼承定義一個類,繼承是關係類型之間的建模, 共享共有的東西,實現各自本質不同的東西。 在繼承關係當中

原创 菱形繼承(虛函數)->菱形虛擬繼承(虛函數)->多態系列問題

讀者注意:閱讀這篇文章時,對繼承中的對象模型要有一定了解;因爲本篇文章有的例子沒有給出類的成員變量,如果不瞭解繼承的對象模型,琢磨起來可能會很慢,覺得自己不確定的話單擊下面的“繼承”。 繼承 多態 多態按字面的意思就是“多種狀態”。在面嚮

原创 URG和PSH的區別與聯繫

URG(緊急位) : 急指針是一個正的偏移量,和序號字段中的值相加表示緊急數據最後一個字節的序號。T C P的緊急方式是發送端向另一端發送緊急數據的一種方式。緊急指針指向包內數據段的某個字節(數據從第一字節到指針所指字節就是緊急數據,不進