上午学习了链表,链表是一种常见的数据结构。在有些情况下,比如元素个数很多的时候用数组是很浪费空间的。链表存储元素的个数是不受限定的,当进行添加元素时存储的个数就会随之改变。
链表有一个头指针变量,这个变量保存一个地址。链表中每一个元素包括数据部分和指针部分。数据部分用来存放元素所包含的数据,指针部分用来指向下一个元素。最后一个元素的指针指向NULL。表示指向的 地址为空。
下午学习了C++的类和对象。关键点是属性和动作,按游戏中的元素可以理解,属性就比如人物的名字,血量,等级等等。动作就是人物动态的行为,比如人物在游戏中的跑动,战斗之类的。可以把属性看做变量,把动作看成函数。
#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string> using namespace std; class sc{ public: char name[10]; char photo[100]; int jg; private: }; class listInfo{ public: void Init(sc a); private: }; void listInfo::Init(sc a){ cout << a.name << endl; cout << a.photo << endl; cout << a.jg<< endl; } int main(){ sc a1,a2,a3,a4,a5,a6,a7,a8,a9; listInfo b1,b2,b3,b4,b5,b6,b7,b8,b9; a1.jg = 2000; sprintf(a1.name , "多兰之戒"); sprintf(a1.photo , "1.png"); a2.jg = 1500; sprintf(a2.name , "多兰之盾"); sprintf(a2.photo , "2.png"); a3.jg = 1100; sprintf(a3.name , "腐败药水"); sprintf(a3.photo , "3.png"); a4.jg = 3700; sprintf(a4.name , "饮血剑"); sprintf(a4.photo , "4.png"); a5.jg = 2600; sprintf(a5.name , "激射火炮"); sprintf(a5.photo , "5.png"); a6.jg = 3800; sprintf(a6.name , "三相之力"); sprintf(a6.photo , "6.png"); a7.jg = 2550; sprintf(a7.name , "幻影之舞"); sprintf(a7.photo , "7.png"); a8.jg = 2700; sprintf(a8.name , "巨人杀手"); sprintf(a8.photo , "8.png"); a9.jg = 3600; sprintf(a9.name , "无尽之刃"); sprintf(a9.photo , "9.png"); b1.Init(a1); b2.Init(a2); b3.Init(a3); b4.Init(a4); b5.Init(a5); b6.Init(a6); b7.Init(a7); b8.Init(a8); b9.Init(a9); getchar(); return 0; }
