原创 堆的應用之TOP K問題

此問題需要在N個數中找出最大或者最小的K 個數。這裏我們用找最大的K個數來舉例。 void AdjustDown(int* hp, int K, int i) { int parent = i; int

原创 大數運算

1、大數的數據類型設計 可以用一個string和一個long long類型來表示一個大數類型,long long類型表示沒有超出範圍,string表示超出範圍的大數。在初始化的時候我們可以將string和long long

原创 單例模式&工廠模式

單例模式 一、什麼是單例模式 有時候我們會遇到這樣一種情況,一個類只能有一個對象被實例化,這時我們就可以使用單例模式了。 單例模式通過類本身來管理其唯一實例。在設計這個類的時候,讓他只能創建一個實例並提供對此實例的全局

原创 函數重載

什麼是函數重載? 在同一個作用域中,如果有多個函數的名字相同,但是形參列表不同(參數類型不同或參數個數不同),返回值類型可同也可不同,我們稱之爲重載函數。重載的函數是通過形參列表區分的,與返回值類型無關。函數重載其實是”一個名字

原创 字符串的左旋問題解析

實現一個函數,可以左旋字符串中的k個字符。 AABCD左旋一個字符得到ABCDA AABCD左旋兩個字符得到BCDAA 思路:先將一個字符串左移一位,可以使用一層for循環來實現, 然後每次都可以調用這層循環,調用移位的次數,還有

原创 註釋轉換

C轉C++可能遇到的問題: //1.一般情況 /* int i = 0; */ // 2.換行問題 /* int i = 0; / int j = 0; / int i = 0; */ int j = 0; // 3.匹配問題 /int

原创 對n個數字右移k位

<span style="font-size:14px;">#include<iostream> using namespace std; #include<math.h> #include<string.h> void

原创 判斷一個數是否在一個二維數組中

分析參考網絡 #include<iostream> using namespace std; #include<assert.h> const int M = 3; const int N = 3; bool F

原创 測試用到的英語

portraite mode 縱向模式 land mode 橫向模式 plug in 插上 plug out 拔下 White-Box Testing 白盒測試 Black-Box Testing 黑盒測試 Gray-Bo

原创 CRC檢驗解析

CRC即循環冗餘校驗碼(Cyclic Redundancy Check):是數據通信領域中最常用的一種差錯校驗碼,其特徵是信息字段和校驗字段的長度可以任意選定。其根本思想就是先在要發送的幀後面附加一個數(這個就是用來校驗的校驗碼,

原创 調整一組數據使得奇數位 位於偶數位的前面

#define _CRT_SECURE_NO_DEPRECATE #include<iostream> using namespace std; //判斷時候爲偶數 bool IsEven(int num) {

原创 用遞歸實現字符串的逆置

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<assert.h> #include<string.h> void rev

原创 內存池

什麼是內存池????? 通常我們用new或malloc來分配內存的話,由於申請的大小不確定,所以當頻繁的使用時會造成內存碎片和效率的降低。爲了克服這種問題我們提出了內存池的概念。內存池是一種內存分配方式。內存池的優點就是可以有效的減少內

原创 粘滯位

在瞭解粘滯位之前,我們先來回憶一下一個文件具有的三種權限,在Linux下有一種一切皆文件的思想,所以,這裏的文件包含普通文件和目錄了: 一、文件權限: r :可以讀這個文件的內容 w :可以編輯這個文件的內容,包括增加和刪除文件

原创 求一組成對出現的數據中的單身狗

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> in