原创 鏈表問題---合併兩個有序的單鏈表

【題目】   給定兩個有序單鏈表的頭節點head1和head2,請合併兩個有序鏈表,合併後的鏈表依然有序,並返回合併後鏈表的頭節點。 【代碼實現】 #python3.5 def merge(head1, head2): i

原创 鏈表問題---將單鏈表的每K個節點之間逆序

【題目】   給定一個單鏈表的頭節點head,實現一個調整單鏈表的函數,使得每K個節點之間逆序,如果最後不夠K個節點,則不調整最後的節點。 【基本思路】   方法一。時間複雜度O(N),空間複雜度O(K)。      利用棧結

原创 鏈表問題---將搜索二叉樹轉換成雙向鏈表

【題目】   對二叉樹的節點來說,有本身的值域,有指向左孩子和右孩子的兩個指針;對雙向鏈表的節點來說,有本身的值域,有指向上一個節點和下一個節點的指針。在結構上,兩種結構有相似性,現在有一棵搜索二叉樹,請將其轉換爲一個有序的雙向鏈

原创 鏈表問題---向有環的環形鏈表中插入新節點

【題目】   一個環形單鏈表從頭節點開始不降序,同時由最後的節點指向頭節點。給定這樣一個環形單鏈表的頭節點head和一個整數num,請生成節點值爲num的新節點,並插入到這個環形鏈表中,保證調整後的鏈表依然有序。 【基本思路】  

原创 鏈表問題---兩個單鏈表相交的一系列問題

【題目】   在本題中,單鏈表可能有環,也可能沒環。給定兩個單鏈表的頭節點head1和head2,這兩個單鏈表可能相交,也可能不相交。請實現一個函數,如果兩個鏈表相交,請返回相交的第一個節點;如果不相交,返回null即可。 要求

原创 鏈表問題---一種怪異的節點刪除方式

【題目】   鏈表的節點類型是int型,給定一個鏈表中的節點node,但不給定整個鏈表的頭節點。如何在鏈表中刪除node?請實現這個函數,並分析這麼做會出現哪些問題。   要求:時間複雜度O(1)。 【基本思路】   實現方法很簡

原创 C++虛函數表剖析

一、概述   爲了實現C++的多態,C++使用了一種動態綁定的技術。這個技術的核心是虛函數表(下文簡稱虛表)。本文介紹虛函數表是如何實現動態綁定的。 二、類的虛表   每個包含了虛函數的類都包含一個虛表。   我們知道,當一個類(

原创 彙編語言學習筆記

1、debug 調試工具 參數: -r    顯示所有寄存器狀態,可以修改寄存器內容(形如-r ax) -d    顯示從當前cs:ip位置之後的128個字節,可以指定地址打印(形如: -d 段地址:偏移地址) -u    將cs:

原创 C/C++從源代碼到可執行程序的過程詳解

編譯,編譯程序讀取源程序(字符流),對之進行詞法和語法的分析,將高級語言指令轉換爲功能等效的彙編代碼,再由彙編程序轉換爲機器語言,並且按照操作系統對可執行文件格式的要求鏈接生成可執行程序。 源代碼-->預處理-->編譯-->優化-->彙編

原创 C++浮點數的存儲方式

類型float大小爲4字節,即32位,內存中的存儲方式如下: 最高位 31 位 ,保存符號位 S,“0”表示正數 ,“1”表示負數 第30 位~23 位 ,共 8 位 ,保存指數部分(指數值加上偏移量127) ,稱爲階碼 第22 位~0

原创 shell學習筆記

1、history 查看命令歷史   !!   重複上一個命令   !55  運行命令歷史中第55條命令   !if   運行最近一次以if開頭的命令   !$   上一個命令最後一個參數 2、alias  設置別名   un

原创 C++多重繼承下的指針類型轉換

在C++中,指針的類型轉換是經常發生的事情,比如將派生類指針轉換爲基類指針,將基類指針轉換爲派生類指針。指針的本質其實就是一個整數,用以記錄進程虛擬內存空間中的地址編號,而指針的類型決定了編譯器對其指向的內存空間的解釋方式。 基於上面的理

原创 linux基礎命令練習題

1、如何通過命令行關機/重啓? 關機: halt poweroff init 0 shutdown -h now shutdown -h 10   10分鐘後自動關機 重啓: shutdown -r now reboot init 6

原创 C++類型轉換操作符 dynamic_cast

dynamic_cast 顧名思義是支持動態的類型轉換,即支持運行時識別指針或引用所指向的對象。 dynamic_cast<>用於C++類繼承多態間的轉換,分爲: 子類向基類的向上轉型(Up Cast) 基類向子類的向下轉型(Down

原创 C/C++知識點回顧與總結

  本博客總結C/C++的常見知識點,如有問題歡迎提出,轉載請註明出處http://blog.csdn.net/qq_34342154/article/details/78876099 一、C和C++的區別 C++在C的基礎上增加類 C