演算法題中使用的類知識很少,所以沒啥好寫的.類與結構體的主要區別在於,如果不定義成員是公有或私有,類中預設設定為private,而結構體中預設設定為public.以下隨便寫點結構體語法,背過就完事了.
struct person //無參建構函式
person(int _age, int _height): age(_age); //有參構造的快捷寫法,且執行效率高一點
person(int _age, int _height, double _moeny) : age(_age), height(_height), money(_money){}
};//分號記得要寫
常用結構體定義單鏈表:
struct node
};int main(){
node *p = new node(1); //使用new返回的是位址
node *q = new node(2); //auto q = new node(2);
node *o= new node(3); //auto q = new node(2);
p->next = q;
q->next = o;
node *head = p;
//遍歷鍊錶
for (node *i = head; i; i = i->next)
cout << i->val << endl;
在鍊錶首部中插入乙個新結點:
node *u = new node(4);
u->next = head;
head = u;
注意以下寫法是錯誤的:
listnode *vir = new listnode(-1), tail = vir;
請老老實實寫成:
listnode *vir = new listnode(-1);
listnode *tail = vir;
或者你不願意寫這麼長,也可以寫成:
auto vir = new listnode(-1), tail = vir;
空結點的三種寫法:
null
nullptr
0
本文演算法思想源於acwing,特此註明。
C C 中結構體與類
先來說說c和c 中結構體的不同 a c語言中的結構體不能為空,否則會報錯 1 d myproject visual studio 2013 projects myc main.c 71 error c2016 c 要求乙個結構或聯合至少有乙個成員 b c語言中的結構體只涉及到資料結構,而不涉及到演算...
C C 結構體語法總結
結構體屬於聚合資料型別的一類,它將不同的資料型別整合在一起構成乙個新的型別,相當於資料庫中一條記錄,比如學生結構體,整合了學號,姓名等等資訊。結構體的好處就是可以對這些資訊進行整體管理操作,類似物件導向中類的屬性,有了結構體,我就可以更好抽象描述乙個類別,個人感覺類就是由結構體發展而來的。在c c ...
C C 學習總結(四) 類與類之間的關係
類與類之間的關係 組合 乙個類包含了其他類 依賴 乙個類使用了其他類 和繼成 乙個類繼承了其他類 1 類的組合關係 某乙個或幾個類的物件作為其他某個類的成員,例 class a class b class c 其中,x和y是普通的資料成員,a和b是物件成員。c類包含了a類和b類的物件,此時稱c與a和...