函数重载-引用以及const修饰 最近在学习c++,才发现函数重载在类以及三大特性中应用这么多,因此来进行一个小小知识点的补充复习。可以看出引用和const引用的写法以及函数形参的写法不同。主函数在调用时,进行如下操作。
循环链表、双向链表 循环链表是另一种形式的链表,其特点是表中最后一个结点的指针不再为NULL,而是指向头结点形成一个闭环,从表中任意一处出发均可以找到其他所有元素。AB为两个链表,AB分别为两个链表的尾结点,我们可以对这两个循环链表进行操作构成一个循环链表。双向链表:在双向链表的结点中有前后两个结点,一个指向前继,一个指向后继。其操作跟普通链表相差不大,不过我们可以进行两个循环链表的合并操作。双向链表的操作中,插入和删除结点较为麻烦。
单链表的实现 用单链表表示线性表的时候,数据元素之间的逻辑关系由结点中的指针指示,即逻辑上相邻的两个数据元素其存储的物理位置不要求相邻,这种存储结构称为非顺序映像或链式映像。其中数据域是存放待存储的信息,指针域则是前后两个结点相互联系的关键,通过指针,可以通过前一个结点查找到后一个结点的地址,进而查找信息。其特点是用一组任意的存储单元存储线性表的数据元素,与线性表相对比,线性表是占用一块连续的存储空间,而链表可以利用其余不连续的空间。链表中的每个数据元素称之为结点,其结构分为数据域+指针域。查找指针数值的存在与位置。
链表的创建及其系列操作 链表是一个存储非连续数据的线性结构,它与顺序表想比其不会浪费过多的空间,实现了不连续的存储先做预备操作#include <stdio.h>#include <malloc.h>#include <stdlib.h>typedef struct node{ int data; struct node* pNext;}NODE,*PNODE;int main(){ PNODE pHead = creatlist();}接下来便要创造一
栈(存取数据的结构) 数据结构中,栈属于线性结构一类是一种可以实现“先进后出”的存储结构其分为两种类型的栈静态栈(类似于用数组实现) 动态栈(类似于用链表实现)下面开始写关于栈的几个函数代码#include <stdio.h>#include <malloc.h>#include <stdlib.h>typedef struct Node{ int data; struct Node * pNext;}NODE,*PNODE;typedef
链式二叉树的遍历 二叉树的遍历分为三个类型先序遍历 先访问根节点 再先序访问左子树 再先序访问右子树 中序遍历 先访问左子树 再中序访问根节点 再中序访问右子树 后序遍历 先访问左子树 再后序访问右子树 再后序访问根节点 下面我们用程序来演示以上三种遍历操作首先我们先创造一颗树,这个是我之前写的创造二叉树树的代码以及树的基本形状二叉树的创建_RogersX的博客-CSDN博客https://blog.csdn.net/RogersX/article/details/1