原创 C++異常處理

關鍵字: try catch throw   什麼是異常的棧展開(異常的處理過程) main  -> fun1->fun2->....->fun n-1 ->fun n   從左到右,就是整個函數的調用鏈   catch塊捕捉異常該怎麼設

原创 網絡

網絡:分層模型   7層模型和4層模型   應用層 表示層 會話層 傳輸層 網絡層 數據鏈路層 物理層 應用層  傳輸層 網絡層 數據鏈路層   爲什麼要分層??《計算機網絡》 1.大問題劃分爲小問題  各層彼此獨立 2.靈活性  適合自

原创 線程《操作系統精髓與設計》

線程:進程內部的一臺哦執行序列(路徑) 調度的基本單位 進程:一個正在運行的程序   資源分配的基本單位   線程實現 併發 與並行  線程間同步       《操作系統精髓與設計》        線程安全 保證線程安全 :1 同步 

原创 C與C++區別 makefile文件 gdb調試

C與C++區別 gcc  .cpp -> c++語法 編譯  不能鏈接c++庫          .c ->c語法   g++    .cpp   都通過c++語法編譯             .c   預編譯   編譯  彙編  鏈接(

原创 進程間通信

進程間通信:管道  信號量 消息隊列  共享內存  套接字   管道   有名管道       mkfifo  mkfifo() 無名管道     pipe() 區別:有名可以在任意兩個進程間通信,無名可以在父子進程間進行通信 管道通信方

原创 進程

《linux內核設計與實現》第三章 進程概念及狀態 進程:一個正在運行的程序,資源分配的基本單位   進程狀態:就緒  運行  阻塞   進程描述符:進程控制塊(PCB),存放進程的屬性信息 僵死進程:子進程先結束,父進程沒有調用wai

原创 靜態庫與共享庫

linux程序設計第四版 庫:預先編譯好的方法/函數的集合 .c文件編譯成.o文件,再將.o文件的方法放入庫文件 存放庫文件的標準路徑 /usr/lib 用戶安裝的  /lib  系統本身的 所有的頭文件.h存放在 usr/inclu

原创 LeetCode 筆試題 數組中的奇數放在偶數之前

問題描述   給定一個數組,將其偶數元素放到奇數元素的後面 輸入  {2,4,1} 輸出{1,2,4} 輸出後,元素的順序不用關心,只要所有奇數元素在偶數元素之前  線性時間完成     代碼 /* 思路:定義兩個指針分別指向頭尾,然後

原创 LeetCode 筆試題 String to Integer (atoi) (字符串轉化爲整數)

問題描述 請你來實現一個 atoi 函數,使其能將字符串轉換成整數。 示例 1: 輸入: "42" 輸出: 42 示例 2: 輸入: " -42" 輸出: -42 解釋: 第一個非空白字符爲 '-', 它是一個負號。

原创 LeetCode 筆試題 Implement strStr() (實現 strStr() 函數)

問題描述 給定一個 haystack 字符串和一個 needle 字符串,在 haystack 字符串中找出 needle 字符串出現的第一個位置 (從0開始)。如果不存在,則返回 -1。 示例 1: 輸入: haystack = "h

原创 LeetCode 筆試題 Reverse Integer(翻轉整數)

問題描述 給出一個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。 示例 1: 輸入: 123 輸出: 321 示例 2: 輸入: -123 輸出: -321 示例 3: 輸入: 120 輸出: 21 注意:

原创 LeetCode 筆試題 Valid Anagram (判斷兩個字符串是否爲異位詞)

問題描述 給定兩個字符串 s 和 t ,編寫一個函數來判斷 t 是否是 s 的一個字母異位詞。 示例 1: 輸入: s = "anagram", t = "nagaram" 輸出: true 示例 2: 輸入: s = "rat",

原创 LeetCode 筆試題(Rotate Image) 旋轉圖像

問題描述 給定一個 n × n 的二維矩陣表示一個圖像。 將圖像順時針旋轉 90 度。 說明: 你必須在原地旋轉圖像,這意味着你需要直接修改輸入的二維矩陣。請不要使用另一個矩陣來旋轉圖像。 示例 1: 給定 matrix = [

原创 LeetCode 筆試題 First Unique Character in a String (找到第一個不重複的字符)

問題描述 給定一個字符串,找到它的第一個不重複的字符,並返回它的索引。如果不存在,則返回 -1。 案例: s = "leetcode" 返回 0. s = "loveleetcode", 返回 2. **注意事項:**您可以假定該字

原创 LeetCode筆試題 Intersection of Two Arrays(求兩個數組的交集)

問題描述 給定兩個數組,編寫一個函數來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 示例 2: 輸入: nums1 = [4,9,5], nums2 =