原创 一些牛客網上的選擇題

已知int a[]={1,2,3,4,5};int*p[]={a,a+1,a+2,a+3};int **q=p;表達式*(p[0]+1)+**(q+2)的值是____。   *(p[0]+1)+**(q+2)     其中p[0]=a也

原创 C++重載細究

首先,重載只和“參數”“const”有關。和返回值無關。 static在重載函數中   無法重載,報錯,但如果只有一個static int name(a,b,c)是可以的。   const在重載中 const修飾變量   其次,如果是簡單

原创 動態規劃:對角線行走

沿着對角線,重點是發現狀態轉移方程:dp[i][j] = dp[i - 1][j] + dp[i][j - 1]; #include <iostream> #include <vector> using namespace std;

原创 高精度加法

如下,是加法的方法。  #include<string> #include<vector> #include<algorithm> #include<iostream> using namespace std; template <c

原创 CPP運算符優先級

優先級 運算符 名稱或含義 使用形式 結合方向 說明 1 [] 數組下標 數組名[整型表達式] 左到右   () 圓括號 (表達式)/函數名(形參表)   . 成員選擇(對象) 對象.成員名   -> 成員選擇(指針) 對象指針->成員名

原创 排序2:自定義數據的排序(仿函數和lambda)

利用仿函數和泛型編程完成自定義數據的排序 template<class T=vector<PAIR>,class K> void mysort(T & num,const K &cmp) { int size = num.size()

原创 排序(1) O(nlogn)

nlogn的排序:堆排,快排,歸併  堆排序(英語:Heapsort)是指利用堆這種數據結構所設計的一種排序算法。堆是一個近似完全二叉樹的結構,並同時滿足堆積的性質:即子結點的鍵值或索引總是小於(或者大於)它的父節點。  void

原创 http總結(get,post)

A: 對於GET方式的請求,瀏覽器會把http header和data一併發送出去,服務器響應200(返回數據);  而對於POST,瀏覽器先發送header,服務器響應100 continue,瀏覽器再發送data,服務器響應200

原创 劍指offer練習部分:替換空格,從尾到頭打印鏈表,棧模擬隊列

 替換空格,從尾到頭打印鏈表,棧模擬隊列,青蛙跳問題 請實現一個函數,將一個字符串中的每個空格替換成“%20”。例如,當字符串爲We Are Happy.則經過替換之後的字符串爲We%20Are%20Happy。 class So

原创 最小棧

使用2個棧實現最小棧 class Solution { private: stack<int> s1; stack<int> s2; public: void push(int value) {

原创 Linux複習:pthread的cond和mutex

進程和和線程 互斥鎖mutex 這一篇文章描述pthread的創建和分離,等待 在操作系統中,有臨界區的概念。臨界區內放的一般是被1個以上的進程或線程(以下只說進程)共用的數據。 臨界區內的數據一次只能同時被一個進程使用,當一個進

原创 Linux複習:XSI IPC之消息隊列總結

在Linux中,IPC消息隊列是一個雙向通信的全內存設計,即內核保證了讀寫順序和數據同步,並且是性能比較優越的先進先出數據結構。消息隊列應用於很多場景:比如異步任務處理,搶佔式的數據分發,以及順序緩存區等。   消息隊列提供了一種從

原创 STL: unordered_map 自定義鍵值類型的使用

當試圖使用自定義類型作爲 unordered_map 的鍵值時,則必須爲自定義類型定義 Hash 函數與相等的判斷條件。我們先定義自定義類型作鍵值,代碼如下: struct KEY {     int first;     int sec

原创 Linux複習:pthread的create和join,detach

本文demo運行在阿里雲的服務器,Centos系統 首先複習進程和線程的資源關係。 進程內典型全局資源如下: 1)代碼區:這意味着當前進程空間內所有的可見的函數代碼,對於每個線程來說,也是可見的 2)靜態存儲區:全局變量,靜態空間

原创 gdb調試

前言  gdb 開始調試開始上手 1. 開啓core, 採集程序崩潰的狀態   首先你跟着我做開啓core崩潰狀態採集. 可以通過 ulimit -c 查看 如果是0表示沒有開啓. 開啓按照下面操作 su root vi /etc/