原创 C/C++ 變量作用範圍,參數傳遞方式

全局變量所佔用的空間在內存的數據區,局部變量以堆棧的形式允許反覆佔用和釋放函數的聲明,定義,參數傳遞,重載void swap(int&, int&);

原创 虛函數與抽象類

虛函數 1, 虛函數是非靜態的、非內聯的成員函數,而不能是友元函數,但虛函數可以在另一個類中被聲明爲   友元函數。 2, 虛函數聲明只能出現在類定義

原创 const相關,指針相關,數組相關

#include<head.h> #include"head.h" int a = 3, c = 2; const int* b = &a; *b = 8; // error b  = &c; // right //const用來修飾指針

原创 繼承,構造函數

繼承方式-private, protected, public,默認是私有繼承繼承形式-class b:public A{...};基類的私有成員在派

原创 結構體和類,構造函數

1.C的結構體和C++結構體的區別(1)C的結構體內不允許有函數存在,C++允許有內部成員函數,且允許該函數是虛函數。     所以C的結構體是沒有構

原创 宏-內聯函數, 內存對齊,

預處理(.i)-宏定義,條件編譯指令,註釋 編譯(.s) 彙編(.o)-二進制文件,機器指令,與上一步統稱爲編譯 鏈接(.exe)-將相關文件彼此鏈接 宏,簡單的替換 內聯函數(inline),節約一些小函數頻繁調用,大量消耗棧空間的問題

原创 xlrd, xlwt, Python 修改

Python中一般使用xlrd(excel read)來讀取Excel文件, 使用xlwt(excel write)來生成Excel文件(可以控制Excel中單元格的格式), 用xlrd讀 取excel是不能對其進行操作的:xlrd.op

原创 Kruskal 最小生成樹 並查集

typedef struct { int vexNum; int edgeNum; int arc[N][M]; }myGraph; typedef struct { int data; int begin; int en

原创 n個數中的前k個小數

#include<iostream> #include<algorithm> using namespace std; bool compare(int a, int b); int main() { int n, k;

原创 計算機網絡相關基礎

報文,需要發送的整塊數據報文交換,整個報文先傳導向臨界點,全部存儲下來後查找轉發表,轉發到下一個結點分組,報文分成等長的數據段,然後加上必要的首部,即爲分組分組交換,單個分組傳送到相鄰結點,存儲下來後查找轉發表,轉發下一個結點實體:任何可

原创 C++, 堆排序

堆排序,是一種不穩定的排序方法,包含兩個過程,構建堆和調整堆構建堆的過程,要從下往上,從右往左;從有孩子的左節點開始往上調整。構建完成後,交換堆頂元素和堆尾元素,然後對剩餘元素重新調整成堆時間複雜度:整個堆的構建爲O(n)重建堆的時間複雜

原创 歸併排序,遞歸實現和迭代實現

歸併排序: 時間複雜度O(nlogn) 空間複雜度O(n+logn) 比較佔用內存,但卻效率高且穩定的方法 #define MAX_SIZE 55 int num[] = {2,3,4,5,3,2,4,52,2}; int len =

原创 二叉樹,遞歸,非遞歸遍歷

struct node { int data; node* left; node* right; int tag = 1; } void reNode(node* root) { if(root == NULL) retu

原创 輸出字符串中最長的數字字符串

輸入描述:輸入一個字符串。輸出描述:輸出字符串中最長的數字字符串。輸入例子:abcd12345ed125ss123058789輸出例子:輸出123058789#include<iostream> #include<string> usin

原创 指針函數,指針數組,指針常量

指針數組,內部元素全是指針的一個數組 int *a[5];  char *arr[4] = {"hello", "world", "shannxi", "xian"}; //arr是一個指針數組,它有四個元素,每個元素是一個char *類