- 博客(9)
- 收藏
- 关注
原创 数据结构2.2 链表的实现
链表的实现不管链表中有无数据,我们都保持两个节点:头(m_pHead)和尾(m_pTail)双向链表:每个节点有指向后一个节点的指针和指向上一个节点的指针。实现代码如下:以下代码实现了链表的增加和删除功能。其中每段头文件中的代码都对应了.cpp文件中的代码。如头文件中的push_front那段代码,对应了.cpp文件中的**//在最前面添加元素**之后的三行代码。.cpp文件中的代码:#include "stdafx.h"#include<iostream>#include
2020-06-17 13:23:14 126
原创 数据结构2.1 STL中list的使用
链表list中添加元素#include "stdafx.h"#include<iostream>#include<list>using namespace std;int main(int argc, char* argv[]) { list<int> mylist; mylist.push_back(10); mylist.push_back(20); mylist.push_back(30); mylist.push_back(40);
2020-06-17 13:18:54 236
原创 数据结构1.2 迭代器的实现
迭代器实现原理为设计一个内部类封装指针,为这个内部类实现:*重载:用于取元素++重载:用于遍历“下一个”==/!=重载:用于判断是否已经结尾除此之外,作为容器,应该提供:begin/end方法:他们分别返回指向最开始的迭代器,以及指向结束元素的迭代器。方便遍历。vector的迭代器实现代码:#pragma once#include <stdlib.h>#include <string.h>#define ty intclass CMyVector{
2020-06-15 17:18:02 178
原创 数据结构1.1 复杂度、动态数组
数据结构定义到目前为止,没有精确的定义,有以下几种解释:数据结构+算法=程序以一定的方式,将信息组织在一起。为什么学数据结找工作时笔试、面试必备知识拥有更好层次的理解代码的能力,可以大段大段的思考代码工作需要复杂度复杂度是用于评判一种算法好坏的标尺。包括:时间复杂度(重要):衡量计算次数的规模,一般用O(n)表示空间复杂度(没有上一个重要):衡量使用的空间动态数组实现://#include "stdafx.h"#pragma once#include &l
2020-06-15 17:17:26 135 1
原创 C++学习第三课 第二节 析构函数、堆资源释放、堆中数组的使用
析构函数实例:#include"stdafx.h"#include <iostream>struct tagClock{ int iHour; int iMin; int iSec; tagClock(){ iHour = 0; iMin = 0; iSec = 0; } ~tagClock(){ printf("我是析构函数\r\n");...
2020-05-03 15:33:24 934
原创 C++学习第三课 第一节 构造函数
构造函数C++中的类和对象对应了C语言中的结构体和结构体变量。在C语言中,我们应该养成变量初始化的习惯。以下我们无法从语法上检查出,不初始化的错误:struct tagClock{ int iHour; int iMin; int iSec; 5 };int main(int argc, char* argv[]){ tagClock timer1; printf("%...
2020-04-30 23:54:04 287
原创 C++学习第二课 第三节 C++和C语言中的struct;类
类C语言中,我们可以使用结构体对数据进行打包封装。比如:头文件中struct tagNode{ int nRow; int nCol;};void Position(tagNode* pNode, int nRow, int nCol);cpp文件中void Position(tagNode* pNode, int nRow, int nCol){ pNode-&g...
2020-04-28 22:57:42 163
原创 C++学习第二课 第二节 内联函数
内联函数内联函数的发明调和了有参宏和普通函数之间的矛盾。先回顾C语言中的有参宏和函数的各自优缺点以宏和函数分别实现比大小为例:宏#include"stdafx.h"#include <iostream>#define MyMax(a,b) (((a)<(b))?(b):(a))int main(int argc, char* argv[]){ printf(...
2020-04-28 22:51:24 256
原创 C++学习第二课 第一节 bool和nullptr、默认参数
C++学习第二课 第一节 bool和nullptr、默认参数C++相对C更方便,往往是编译器背后添加了一些功能C++中还提供了一些新的关键字类型,如:bool和nullptrbool在C语言中,会定一定“是”或"非"的变量。对于是或非的变量,需要两种状态来表示,如下#define TRUE 1#define FALSE 0int main(int argc, char* argv...
2020-04-28 13:09:55 611
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人