原创 <算法4>第四章圖算法總結

該博客原地址http://blog.csdn.net/ntt5667781/article/details/52743342 其實就是對書上的內容做了個總結 在開始各類圖算法之前,先將圖的結構進行分類。  圖的表示,在實際實

原创 《unix網絡編程》中readline函數改進版

自己加了註釋方便理解,希望幫到更多難以理解這段代碼的人… /* my_read和readline的關係是, * readline調用my_read,my_read先讀入需要的全部數據進入自己的緩衝區, * 每次my_read返回一個字

原创 linux平臺Android studio安裝步驟

作爲一個有追求的程序猿肯定不能被牆操啊,所以首先把牆操了再說..操牆過程暫且不表,以後有空再寫個從選購境外服務器到自己搭梯子的完整教程。然後我們來到了一個“不存在”的網站: 然後下載linux版本的as.. 下再完之後解壓... cd

原创 右值引用總結

右值引用若不作爲函數參數使用,基本等於濫用 2. std::vector<int>&& return_vector(void) { std::vector<int> tmp {1,2,3,4,5}; return st

原创 主機ip查找程序

《unix網絡編程》看到第11章了,寫了一個通過DNS從主機名查找主機IP的小程序, 測試環境:linux, 測試結果: 源碼如下: #include<stdio.h> #include <string.h> #include <net

原创 c++四種打印二維數組的風格

最近在學c++ 總結了一下這幾種打印方式 int ia[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 數組本尊在此 1.完全c風格的輸出二維數組 p指向含有四個整數的數組,則*p就是那個數組,而數組名就是數組首元

原创 什麼是copy and swap

閒話少說,下面代碼的前提是什麼就不鋪開講了,只說明String是自定義的string類 operator=的傳統做法是: class String { String&operator=(const String& s) {

原创 有趣的printf

sbrk()是linux上malloc的實現中用到的一個函數,sbrk(0)返回的是當前break的地址,今天我無意中多次打印sbrk(0)的值,發現結果和預想中的不太一樣 printf("%p\n", sbrk(0)); printf(

原创 haskell中的函數柯里化和高階函數

函數柯里化指的是“一個接收多個參數的函數實際上每次只接收一個參數,然後返回一個接收下一個參數的另外一個函數,此過程重複下去,直到所有參數接收完畢,並在最後返回結果”。這也是haskell中函數的性質--所有的函數實際上只也只能接收

原创 Haskell快排代碼

haskell這段遞歸快排很短,而且還可以處理不同類型的數據,很優雅。 qSort ::(Ord a)=>[a]->[a] qSort []=[] qSort (x:xs)= let smallerNum=filter (<=x)

原创 LRU緩存實現

本着自己實操的原則..手擼了一遍算法4上一道LRU緩存的題,沒用java自帶的那坨東西,手寫了一遍LRU要用到Hash散列表,雙向隊列,然而並沒有看很懂書上寫的用符號表存鏈表元素位置是幹啥的。。這坨代碼我自己都不想看了,太醜了。 /*

原创 從統一資源分配符講解移動語義

前導知識: 1. 右值引用和其他引用一樣,都是某個對象的別名 2. 右值引用綁定到的都是即將被銷燬的並且沒有其他用戶的對象 3. 析構函數是系統進行析構前執行的最後一個函數,用以收尾,比如系統在析構某個指針的時候只會將棧上的指針析構

原创 這一篇是基於線性探測的散列表

//總感覺性能不如拉鍊法的散列表,java自帶的那個實現也是用的拉鍊法 //測試類如下: public class Fucktest{ public static void main(String[] args) {

原创 二叉樹已知前序,中序,求後序

今天上課時偶爾看到網易的面試題,二十四個選擇題做了一個多小時只做對八個,菜的一筆。其中有一道二叉樹已知前序中序求後序的題我想拿出來寫一下解題思路。 首先明確什麼是前序中序後序遍歷。 前序:首先訪問根節點,然後遞歸前序遍歷左子樹,再遞歸

原创 malloc calloc realloc free的簡單實現

寫在前面:csdn的博客排版就是shit,祝早日關門大吉 內存分配其實是個必修課,應該清楚地知道一個程序在計算機中的內存分佈情況,linux程序在內存中的分佈情況是這樣的: 當然啦除了知道諸如“堆從低地址向高地址增長棧從高地址從低地址