Time of Update: 2018-07-25
從簡到繁,從易到難,循序漸進。切近親力親為,動手寫代碼。 動態規劃的詳細知識點請參考:http://blog.csdn.net/misayaaaaa/article/details/71794620 動態規划算法的痛點在於
Time of Update: 2018-07-25
struct MyData { int nLen; char data[0]; }; 開始沒有理解紅色部分的內容,上網搜尋下,發現用處很大,記錄下來。 &
Time of Update: 2018-07-25
1.new、delete、malloc、free關係
Time of Update: 2018-07-25
把平時在印象筆記上記錄的內容分享一下。。。 1.必須使用初始化列表的情況: 1>常量成員const:常量成員只能初始化不能賦值 2>參考型別:必須在定義時初始化,並且不能重新賦值
Time of Update: 2018-07-25
問題描述 在利用C++編譯C庫檔案的時候,會遇到的錯誤 /home/fa/chatbot/main.cpp:1321: undefined reference to `get_musicInfo_key(char*, char*)' 原因分析 因為需要告知編譯器,C++在連結編譯C的庫檔案時,需要告知系統使用C編譯器 解決辦法 在引用標頭檔時加上 extern "C" { *** } 告知編譯器資訊,樣本如下: extern
Time of Update: 2018-07-25
服務端: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using
Time of Update: 2018-07-25
1.1 軟體,程式與電腦語言 軟體是為完成某些特定功能而編製的一個到多個程式檔案的集合。 程式是電腦指令的序列,編製程式的工作就是為電腦編製指令序列。 人和電腦交流也要用人和電腦都容易接受和理解的語言,這就是電腦語言。 1.2 程式語言的發展 1.2.1 機器語言 電腦的機器語言都是由0和1組成,電腦的所有資料都是由0和1組成。 1.2.2 組合語言 組合語言是用符號來表示這些固定的二進位指令的語言。 1.2.3 進階語言
Time of Update: 2018-07-25
轉自: http://www.jb51.net/article/53703.htm 在《編程珠璣》一書裡提到了一種演算法導論裡沒有提到過的位元影像排序方法,這種排序方法是通過犧牲空間效率來追求時間效率(線性時間)以達到時間-空間折中與雙贏的目的。本文以執行個體形式簡單講一下位元影像排序思想。 一、問題描述 1.輸入:一個至多包含1千萬個非負整數的檔案
Time of Update: 2018-07-25
在《編程珠璣》的第一章,就是相當的精彩,這個位元影像排序就是出自那裡。書中講到的位元影像排序非常的巧妙(時間和空間都時非常的節省),而這巧妙是來源於對實際問題和資料的透徹分析,然後選取了一種高效的解決方案 。結合網上的一些資料以及自己的程式實現來簡單記錄一下吧。 1.位元影像的理解 我 們都明白圖形格式中位元影像儲存方式,其實就是以象素為單位的小方塊,一格一格的縱橫累積起來. 每一個小方塊代表一種顏色,當然,如果對於黑白的二色圖來說更加簡單,只需要一個bit位即可表示.
Time of Update: 2018-07-25
資料結構之 棧(C語言實現) 1.棧的模型 棧(stack)是限制插入和刪除只能在一個位置上進行的表,該位置是表的末端,叫做棧的頂(top)。對棧的基本操作有push(進棧)和pop(出棧),前者相當於插入,後者則是刪除最後插入的元素。最後插入的元素可以通過使用top常式在執行pop之前進行考察。對空棧進行的pop或top一般被認為是棧ADT的錯誤。另一方面,當運行push時空間用儘是一個實現錯誤,但不是ADT錯誤。 2. 棧的數組實現 stack.h檔案
Time of Update: 2018-07-25
[CSDN][原創] 無意中試到一種把C++成員函數的地址傳給C的方法,能騙過編譯器,但是運行時堆棧錯誤,沒太大實際意義,記在這裡,權當消遣。 通常情況下C++的成員函數的地址是不能傳給C的,除非是靜態成員函數。因為普通成員函數有一個隱含的this指標,是C中沒有的,如果和C之間互相調用,由於兩邊參數和堆棧的維護不相容,會導致堆棧混亂出錯。如果傳遞普通成員函數地址到C中,那麼編譯器會報錯。 例如在C中有一個函數CFun01,需要一個回呼函數指標作為參數: //
Time of Update: 2018-07-25
#include <iostream>#include <stack>using namespace std;//快速排序的非遞迴版本。void Swap(int &a, int &b){ int temp = a; a = b; b = temp;}int Sort(int a[],int low,int high){ int i = low; int j = high; while (i < j) {
Time of Update: 2018-07-25
#include <iostream>using namespace std;template<typename Type>class auto_ptr_{public: auto_ptr_(Type *t = NULL) :ptr(t), count(new int(1)) { } auto_ptr_(const auto_ptr_& at) :ptr(at.ptr),
Time of Update: 2018-07-25
//求字串中第一次只出現一次的字元。#include <iostream>#include <string.h>#define _SIZE_ 255using namespace std;struct Node{ int index;//儲存下標。 int num;//儲存個數。 Node() :index(-1), num(0){}};char Grial(char *str){ Node
Time of Update: 2018-07-25
main.h 1 #pragma once 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <iostream> 5 using namespace std; 6 extern "C" void Covenment(FILE * fileout,FILE *filein); 7 enum sg 8 { 9 NOO,//一般狀態 10
Time of Update: 2018-07-25
衍生類別從基類公有繼承時,衍生類別的成員函數可以直接存取基類的公有成員,但不能訪問基類的私人成員。 因此,為了便於衍生類別的訪問,可以將基類的私人成員中需要提供給衍生類別訪問的成員定義為保護成員。
Time of Update: 2018-07-25
存取權限的定義protected: 可以被 1.該類中的函數; 2.子類的函數、 3.其友元函數訪問。 但不能被該類的對象訪問。
Time of Update: 2018-07-25
今天看了string和vector,感覺比起之前用C語言操作是要方便很多,但是又多了許多的規則要記住,c++學習是個漫長的過程啊。 標準庫類型的string是表示可變長字元序列。用之前要先包含標頭檔#include <string>,還有就是string是屬於std這個命名空間的,所以要慣例加上using namespace std; string初始化 先來說說怎麼初始化string:有兩種初始化方式,一種的直接初始化,另外一種是拷貝初始化。
Time of Update: 2018-07-25
時間複雜度&空間複雜度 時間複雜度是演算法分析中常用的方法。他給出了數學方法來分析演算法的執行效率。本文討論如何計算時間複雜度,並給出相應的執行個體。而空間複雜度則是一個程式所消耗的記憶體成本。這兩個直接決定一個程式的運行效率以及一個演算法是否高效。 時間複雜度 定義 時間頻度 時間頻度
Time of Update: 2018-07-25
1.什麼是變長數組 struct MyData { int nLen; char data[0];}; sizeof(MyData)=4; 可能有的編譯器不支援char data[0];需要用char data[1];代替,這樣上面結構體大小是sizeof(MyData)=8(位元組對齊);