如何定義並初始化乙個變數:
int b = 1;
int b,c,d = 2;
int *p1 = &a; 取a的位址,然後賦值給指標p1
int *p2 = &b;
int *p3 = &c;
p1 = &d; 取d的位址,然後賦值給p1,也就是說p1指向d
e = *p1; 取p1這個位址的值,然後賦值給e
null是不指向任何位址的特殊標記,其值為0,初始化指標的時候常用,如 int *p4 = null;構造型別
陣列:相同型別的變數排成一列所構成的變數集。
int b[100]; // 長度為100,儲存範圍是0~99,通俗理解是一下子定義了100個整型變數
int a[5] = ; // 陣列的初始化操作
a = a[0]; // a的值為9
a[3] = b; // a[3]與b存值相同。
需要將不同型別變數組合在一起來解決問題。
school_name;
school_address;
school_area;
typedef struct結構體名;
typedef struct 結構體名
結構體名;
void:在考研資料結構中,主要用來定義沒有返回值的函式
控制語句:
判斷語句
if判斷
a == b / a+b / 1+1 / !a / 變數或者字面值
注意:上面的一切,結果為0表示假,非0表示真,真則進入if塊,否則有else塊則進入else塊
迴圈語句
for迴圈/while迴圈
函式:
返回值型別 函式名(引數定義列表)
呼叫方法:函式名(引數列表);
int result = 0;
void getresult(int &r)
// r是形參,存在函式體內的變數,先執行把result賦值給r,然後執行r的自增操作,所以改變的是r而不是result。所以為了result替換r,所以需要在形參r前加乙個引用符(&),也叫作引用型定義,這種定義方法只針對基本型別變數,結構型變數。
鏈式儲存的c語言實現
typedef struct lnodelnode;
lnode *l;
l = (lnode*)malloc(sizeof(lnode));
/*節點空間動態分配的方式,它會根據你的指定給你分配乙個合適大小的空間,然後給你返回這個空間的位址;
malloc需要輸入乙個引數,這個引數就是你需要分配空間的大小;
sizeof運算子,會給你計算出結構體型別所需要占用的儲存空間的大小;
這個malloc所返回的指標型別,需要你設定的節點型別進行一次強制型別轉換之後再賦值給你所定義的指標
*/a->next = b; b->next =c;//箭頭符號:通過指向某個結構體的指標,來取這個結構體當中的分量,不能用點,只能用箭頭符號
順序結構與鏈式結構的對比:
順序儲存結構支援隨機訪問
通俗理解:線性表的順序儲存結構可以通過線性表的首址加偏移的方法計算出來第i個資料的位置a+i*sizeof(單個結構)而線性表的鏈式儲存結構要訪問第i個資料,就必須先訪問前面的[i-1]個資料
資料結構筆試的公式,定理,知識點 個人總結
資料 資料元素 資料項 資料物件 性質相同的資料元素合集 資料結構 相互存在一種或多種特定關係的資料元素的集合 帶結構的資料元素的集合 結構 資料元素相互之間的關係 4大基本結構 1 集合 2 線性結構 3 樹形結構 4 圖狀結構 資料在計算機中的表達方式 1 順序映像 2 非順序映像 儲存 物理 ...
基礎知識點總結 資料結構
準備筆面試期間做了一些基本知識點的總結,分享一下 1 邏輯結構 物理結構。2 演算法5大特性。4 順序 鏈式儲存。鍊錶 棧和佇列 串 1 鍊錶的操作 增刪改查 2 靜態 迴圈 雙向鍊錶。3 棧的操作及儲存方式。4 遞迴 斐波那契數列。5 棧的中 字尾。6 佇列的操作及儲存方式。7 迴圈佇列空 滿判斷...
資料結構基礎知識
時間複雜度和空間複雜度 同一問題可用不同演算法解決,而乙個演算法的質量優劣將影響到演算法乃至程式的效率。演算法分析的目的在於選擇合適演算法和改進演算法。乙個演算法的評價主要從時間複雜度和空間複雜度來考慮。1 時間複雜度 1 時間頻度 乙個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機執行測...