原创 Unix環境高級編程筆記(一)文件I/O

File I/O 文章目錄File I/O介紹文件描述符(File Descriptors)open 和 openat 函數creat 函數close 函數lseek 函數read 函數write 函數原子操作 介紹 我們通過描

原创 C++內存管理筆記 (二) new與delete表達式

文章目錄new與delete表達式new expressiondelete expression new與delete表達式 我們在申請內存和釋放內存時,一般直接調用C++的new表達式和delete表達式即可,但只會使用,而不知

原创 C++內存管理筆記(一)內存分配概括

文章目錄前言C++應用程序使用memory的途徑C++ memory primitives(內存分配基本工具) 前言 根據侯捷大神的課所作的總結與實踐,主要是理清思路,方便之後查閱。 C++應用程序使用memory的途徑 如圖所

原创 冒泡排序(Bubble Sort)

最簡單的排序 冒泡排序幾乎是所有排序中思想最爲簡單的排序,很好理解。 每次比較兩個數,將較大(或較小)的數升上去,這個過程就像氣泡逐漸上升一樣。這裏將較大的數升上去爲例: 原始待排序數組| 6 | 2 | 4 | 1 | 5 | 9

原创 歸併排序(Merge Sort)

歸併排序 (MERGE-SORT)是建立在歸併操作上的一種有效的排序算法,該算法是採用分治法(Divide and Conquer)的一個非常典型的應用。 分治法 可以通俗的解釋爲:把一片領土分解,分解爲若干塊小部分,然後一塊塊地佔

原创 算數類型的尺寸

16位編譯器 char :1個字節 char*(即指針變量): 2個字節 short int : 2個字節 int: 2個字節 unsigned int : 2個字節 float: 4個字節 double: 8個字節

原创 插入排序(Insert Sort)

插入排序顧名思義,應該是在有序的序列中插入一個數據,並經過一系列變化,成爲一個新的有序的序列。像是在玩撲克牌時,抓到的第一張牌是5,放在手裏,就是一個有序的序列;抓到的第二張牌是3,則將3放在5的右面,又形成了一個有序的序列;第三張抓到4

原创 選擇排序(select sort)

選擇排序算法就是在待排序列中每次找到最大(最小)的關鍵字,並且放在已排好序的子序列的前面(後面),直到排序 結束。 時間複雜度爲O(n^2) 穩定性:不穩定 C++實現代碼: template <typename T> void S