- 博客(12)
- 收藏
- 关注
原创 二叉树的基本实现
树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。有一个特殊的结点,称为根结点,根节点没有前驱结点。除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合Ti(1
2024-05-26 19:31:08
720
原创 堆的基本实现
将最大的堆叫做或大根堆,根结点最小的堆叫做或小根堆。堆的物理结构本质上是顺序存储的,是线性的。但在逻辑上不是线性的,是完全二叉树的这种逻辑储存结构。堆的这个数据结构,里面的成员包括一维数组,数组的容量,数组元素的个数,有两个直接后继。堆的定义如下:n个元素的序列{k1,k2,ki,…,kn}当且仅当满足下关系时,称之为堆。若将和此次序列对应的一维数组(即以一维数组作此序列的存储结构)看成是一个完全二叉树,则堆的含义表明,完全二叉树中所有非终端结点的值均不大于(或不小于)其左、右孩子结点的值。
2024-04-27 22:05:41
864
原创 类和对象(一)
/类体:由成员函数和成员变量组成//注意后面分号cclass为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。类的两种定义方式:1. 声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。class Apublic://显示基本信息private:int _age;char* _sex;
2024-04-26 21:34:13
1856
1
原创 队列的基本实现
/ 链式结构:表示队列}QNode;// 队列的结构//头指针//尾指针int size;//数据个数}Queue;我们先定义节点用来存储指向下一个节点的指针和要保存的数据,然后定义指向队列的头指针和尾指针和存储数据的个数。// 初始化队列// 队尾 入队列// 队头 出队列// 获取队列头部元素// 获取队列队尾元素// 获取队列中有效元素个数// 检测队列是否为空,如果为空返回非零结果,如果非空返回0// 销毁队列。
2024-04-07 18:00:42
1021
原创 栈的基本实现
int top;// 栈顶// 容量}Stack;栈的实现既可以使用数组也可以使用链表,这里使用动态数组来模拟实现,相对而言数组的结构实现更优一些,因为数组在尾上插入数据的代价比较小。// 初始化栈// 入栈// 出栈// 获取栈顶元素// 获取栈中有效元素个数// 检测栈是否为空,如果为空返回非零结果,如果不为空返回0// 销毁栈//打印函数实现的基本的栈,我们需要逐一实现栈的初始化,销毁,入栈,出栈,获取栈顶元素,获取栈中的元素个数,检查是否为空栈。
2024-04-07 17:01:16
1953
原创 C++缺省参数
缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参。没有传参时,使用参数的默认值。传参时,使用指定的实参。
2024-04-03 17:41:34
339
1
原创 C++输入&输出
iostream> 该文件定义了 cin、cout、cerr 和 clog 对象,分别对应于标准输入流、标准输出流、非缓冲标准错误流和缓冲标准错误流。<iomanip> 该文件通过所谓的参数化的流操纵器(比如 setw 和 setprecision),来声明对执行标准化 I/O 有用的服务。cout是输出函数,与printf不同的是它可以自动适应不同类型的数据,相较于printf更方便。2. cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含<
2024-04-03 16:29:09
535
1
原创 消除字符串中的*号
2.思路讲解要想消除字符串两边的‘*’,我们需要找到字符串的起点和终点,所以运用strlen函数计算字符串的长度len,len - 1就指向了字符串的末尾,用指针char *p1 = str指向字符串的起点,用指针char * p2 = p1 + len - 1指向字符串的终点,让指针向中间移动,在指向的不是‘*’时跳出while循环,还有一种情况是整个字符串都是由*组成的,所以当两个指针指向同一个位置的时候 p1 = p2 时,我们也要跳出while,避免出现死循环。
2023-12-10 11:07:43
2350
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅