原创 文件的編譯鏈接過程

有人或許會有疑問,編輯器裏面的代碼是怎樣變成可執行文件的?今天在這裏總結一下文件的編譯鏈接過程。 首先看一下編譯與鏈接的定義。所謂編譯,就是把高級編程語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序會把人們所熟悉的高級編程

原创 排序算法總結二(冒泡排序和快速排序)

上一篇文章總結了插入排序中的直接插入排序和希爾排序,本篇文章總結一下 排序算法中的交換排序,其中包括冒泡排序和快速排序。 3、冒泡排序 冒泡排序是快速排序算法中最簡單的一種,主要是藉助“交換”的排序方法。 基本思想:對每一對相鄰的兩個元素

原创 排序算法總結一(直接插入排序與希爾排序)

    排序算法在編寫代碼的過程當中應用十分廣泛,作用非常重要。它的作用就是將一個排序混亂的序列按照一定的規則排列有序。下面一張圖基本可以清晰的表示排序算法的分類(有幾個不常用的排序算法沒有填寫)。 今天就是總結一下八大主要的排序算法的

原创 C++中常見的三種設計模式

學習C++已經很長時間了,但是學過之後就沒有在複習過,在近期的面試過程中總是因爲一些基礎知識掌握不牢固導致面試過不了,於是我又重新複習了一下基礎知識,整理一下知識點。 今天主要總結的知識點是關於C++中常用的設計模式中的三種,分別是單例模

原创 總結字符串匹配算法(KMP算法)

什麼是KMP算法呢? KMP算法是一種改進的字符串匹配算法,其核心是利用匹配失敗後的信息,儘量減少模式串與主串的匹配次數以達到快速匹配的目的。具體實現是通過一個next()函數實現,函數本身包含了模式串的局部匹配信息。