原创 python 列表訪問方式

python 列表訪問方式 1、可以使用索引訪問列表內容。序列中的索引編號,都是從0開始遞增 numbers=[1,2,3,4,5,6] numbers[0] //輸出1 2、使用切片進行訪問 numbers=[1,2,

原创 electron 打開選擇文件框

electron中有dialog模塊,可以用來打來文件框,選擇文件夾或者文件。 兩種實現方式 1、可以通過ipc通信,main process,實現打開文件對話框的操作,然後把選擇的文件夾或者文件再次通過ipc通信發送的render 進程

原创 Mac上安裝了QT5.5編譯的時候報錯'cstddef' file not found

Mac版本是10.14,xcode是10.1,安裝Qt5.5.1,編譯qt example 中的demo,出現cstddef file not found。 解決辦法, 方法1、在pro文件中,添加CONFIG += C++11 方法2、

原创 windows vscode安裝go插件

vscode中有很多go的相關插件,非常好用如下: gocode gopkgs go-outline go-symbols guru gorename gomodifytags goplay impl godef goreturns go

原创 排序----插入排序

插入排序算法基本思路: 首先對前兩個數據進行大小比較 接着從第三個數與拍好的前兩個數進行比較,將第三個數插入到合適的位置 不斷重複上述過程,直到把最後一個元素插入到合適的位 void InsertSort(int *arr, int l

原创 排序-----選擇排序

選擇排序算法思想: 首選從數組中選擇最小的一個元素,將其和第一個位置的數據交換 接着從n-1個數據中選擇次小的一個元素,將其和第二個位置交換元素 不斷重複,知道最後兩個元素交換,完成排序 void SelectSort(int *arr

原创 結構體大小的計算

結構體中的成員可以是不同的數據類型,成員按照定義時的順序依次存儲在連續的內存空間。和數組不一樣的是,結構體的大小不是所有成員大小簡單的相加,需要考慮到系統在存儲結構體變量時的地址對齊問題。 首先需要知道偏移量的定義,結構體變量中成員的地址

原创 排序---冒泡排序

基本思路: 通過相鄰數據的交換來達到排序的目的 排順流程: 對數組的各數據,依次比較相鄰的兩個元素的大小 如果前面的數據大於後面的數據就交換位置。經過第一輪可以把最大值求出來,排在最後端 然後,再以同樣的方法把剩下的元素進行比較,最後便可

原创 分治算法找假幣問題

int CheckMoney(int arr[], int left, int right) { int sum1=0, sum2=0, sum3=0; if ((right-left+1)%2 == 0) //偶數 { i

原创 求二叉樹節點值的和

struct node { node* left; node* right; int value; node(int v):value(v),left(nullptr),right(nullptr){} }; int sum(c

原创 判斷一個十位數是不是迴文數

迴文數的特點是,若將n的各位數字反向排列所得自然數n1與n相等,則稱n爲一回文數。12321是迴文數,1233不是 bool IsPlaindrome(int num) { std::vector<int> tmp; int las

原创 shared_ptr中高級應用

在編寫基於虛函數的多態代碼時,指針的類型轉換很有用,比如把一個基類的指針轉換成一個派生類的指針或者反過來。但是對於shared_ptr不能使用諸如static_cast<T*>(p.get())的形式,這樣會導致轉型後的指針無法再被sha

原创 CreateEventA 函數理解

HANDLE CreateEventA( LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL

原创 API包裝器模式--外觀模式

外觀模式能夠爲一組類提供簡化的接口。它實際上定義了一個更高層次的接口,以使底層子系統更易於使用。外觀模式是多組件包裝器的一個示例。 外觀模式還可以將底層子系統和公有接口完全分離,進而底層類不可再訪問。

原创 API包裝器模式 ---適配器模式

適配器模式將一個類的接口轉換成一個兼容的但不相同的接口。與代理模式的相似之處是,適配器模式也是一個單一組件包裝器,但是適配器類和原始類的接口可以不相同。此模式能夠爲現有API暴露一個不同的接口,進而和其他代碼集成。適配器可以用“組合”或者