原创 python 排序算法整理

微信鏈接: 十大排序算法

原创 C++參數傳遞【易錯題】

代碼的問題: GetMemory以拷貝的形式傳入實參,即將實參str指針的值賦值給了形參p,在函數內部對形參進行的更改,不會影響實參的變化,因此str仍然爲NULL; 沒有釋放內存; void GetMemory( char

原创 C++ 拷貝控制 【學習筆記】

類的5種特殊成員函數 拷貝構造函數 拷貝賦值運算符 移動構造函數 移動賦值運算符 析構函數 1. 拷貝、賦值和銷燬 拷貝構造函數 Sales_data::Sales_data(const Sales_data &orig):

原创 C++類 【學習筆記】

1. 類概述 類的基本思想:數據抽象和封裝 2. 內聯函數 隱式內聯: constexpr函數爲隱式內聯函數; 在類內定義的函數爲隱式內聯函數; 顯式內聯 類內顯式inline聲明並定義; 類內顯式inline聲明,類外

原创 C++ 標準庫string【學習筆記】

C++ 標準庫string 基礎操作 #include <string> #include <iostream> #include <cctype> using namespace std; int main() {

原创 C++ 類的訪問控制和繼承 及三種繼承方式的理解

1. 類中的訪問說明符 class Parent{ public: ... private: ... protected: ... }; 訪問說明符 public private protected 類外用戶

原创 C++ 動態內存【學習筆記】

1. 內存分佈 靜態內存:局部static對象、類static數據成員、定義在任何函數之外的變量;使用之前分配內存,程序結束時銷燬; 棧內存:函數內的非static對象;僅在程序塊運行時才存在; 堆:存儲動態分配對象; 2.

原创 C++ 中的四種cast類型轉換

const_cast 用於將const變量轉爲非const static_cast 用於各種隱式轉換,比如非const轉const,void*轉指針等, static_cast能用於多態向上轉化,如果向下轉能成功但是不安全,結果未

原创 鏈表相關算法整理【實時更新】

1. 鏈表刪除重複節點 重複節點不保留:雙重循環 class Solution: def deleteDuplication(self, p): # write code here ro

原创 C++ 指針和數組【易錯題】

1. 解引用操作 檢查下面代碼的問題: swap( int* p1,int* p2 ) { int *p; *p = *p1; *p1 = *p2; *p2 = *p; } 問題:沒有初始化指針p,不能對其進

原创 矩陣中的路徑【劍指offer】-回溯和BFS

矩陣中的路徑【劍指offer】- 回溯、BFS 題目: 輸入:path = “ABCCED” ,matrix = “ABCESFCSADEE”,rows = 3,cols = 4 輸出: True or False 1.

原创 cin>>循環結束問題

cin>>循環跳出問題 1.循環輸入數值cin>>num int num; vector<int> vec; while(cin>>num){ vec.push_back(num); } for(auto a:vec)

原创 C++ 右值引用和對象移動

1. 左值和右值 左值:能對錶達式取地址,例如(有名字的)變量、類對象等; 右值:不能對錶達式取地址,例如非引用的函數返回值、表達式計算的臨時變量、字面常量等; 一個左值表達式表達的是對象的身份,一個右值表達式表達的是對象的

原创 C++ 用sizeof求struct的大小

原文鏈接:https://blog.csdn.net/RadianceBlau/article/details/60867307 原則 每個結構體成員的起始地址爲該成員大小的整數倍,即int型成員的起始地址只能爲0、4、8,

原创 C++ 智能指針【學習筆記】

頭文件memory shared_ptr類 允許多個指針指向同一個對象; 創建和初始化 shared_ptr<string> p1; shared_ptr<int> p2 = make_shared<int>(42); s