c++数据结构随笔(1)】的更多相关文章

创建数据结构单链表的时候,突然碰到基础不牢固的问题,指针问题.就当复习指针了. 问题是如果三个指针a和b和r, b=a; b->next = r; 那么a->next会不会变? 然后写了一个小的cpp验证了一下. struct node{ int data; node *next; }; int main() { node *p = (node*)malloc(sizeof(node)); node *q = p; node *r = (node*)malloc(sizeof(node));…
队列(Queue): 满足先进先出(FIFO)的规则: 下面使用php实现一个简单的循环队列模型: 初始状态的队列,队列长度为0,队头和队尾的指针相同均位于队列的开始: 入队操作:队尾指针向后移动,长度加一: 出队操作:队头指针向后移动,长度减一: 循环队列特点:队列大小固定,队列所开辟的内存空间可循环使用,指针的移动是靠与queueSize取余运算移动: 下面的例子是利用数组实现队列存储,数组下标作为指针: <?php /** * Class Queue */ class Queue { /*…
栈(Stack)满足后进先出(LIFO)的原则: 下面利用php实现栈的相关操作: 本实例栈的基本操作: 入栈(push):向栈内压入一个元素,栈顶指针指向栈顶元素 出栈(pop): 从栈顶去除元素,栈顶指针向栈底移动: 判空(isEmpty):当栈顶指针恢复为初始指针状态即为空栈: 判满(isFull): 当栈顶等于容量减一则栈满: 使用php数组实现一个简单操作的栈: <?php /** * Created by PhpStorm. * User: gordon * Date: 2017/8…
这篇的主题主要是Heapsort(堆排序),下一篇ADT数据结构随笔再谈谈 - 优先队列(堆). 首先,我们先来了解一点与堆相关的东西.堆可以实现优先队列(Priority Queue),看到队列,我们马上就想到了队列的一个特点 - 先进先出(FIFO - first in first out),但优先队列有些不同的地方,优先队列是一种具有优先级先出的数据结构. 堆的结构: typedef int ElemType; typedef struct { ElemType * arr; int si…
二叉树是一种数据结构.其特点是: 1.由一系列节点组成,具有层级结构.每个节点的特性包含有节点值.关系指针.节点之间存在对应关系. 2.树中存在一个没有父节点的节点,叫做根节点.树的末尾存在一系列没有子节点的节点,称为叶子节点.其他可以叫做中间节点. 3.树的根节点位于第一层,层级数越大,节点位置越深,层级数也叫做树高. 排序二叉树为二叉树的一种类型,其特点是: 1.节点分为左右子树. 2.在不为空的情况下,左子树子节点的值都小于父节点的值. 3.在不为空的情况下,右子树子节点的值都大于父节点的…
第一讲 基本概念 1.1 什么是数据结构 图书摆放问题: 新书如何插入? 先定类别,再二分查找 怎么找到指定某本书? 二分查找 写程序实现一个函数PrintN 循环实现 void PrintN(int N) { int i; for (i = 1; i <= N; i++) { printf("%d\n", i); } return; } 递归实现 void PrintN(int N) { if (N) { PrintN(N - 1); printf("%d\n&quo…
#include <stdio.h> #include <stdlib.h> #include "PublicDS.h" #include<Windows.h> typedef struct stack{ int top = -1; int maxSize = 100; //用于存放二进制位 int *data = (int *)malloc(100 * sizeof(int)); int pop(){ if (!isEmpty()) return…
一共 15 篇随笔,主要是为了记录数据分析过程中的一些小 demo,分享给其他需要的网友,更为了方便以后自己查看,15 篇随笔,每篇内容基本都是以一句说明加一段代码的方式, 保持简单小巧,看起来也清晰 ,一共可以划分为三个大部分: 第一部分简单介绍数据分析,以一个小例子简单说明了什么是数据分析和 IPython 工具: 第二部分是 NumPy 的基础使用,NumPy 是 Python 包,提供科学计算功能,主要是 ndarray 数组对象: 第三部分是 pandas 的基础使用,主要是 Seri…
<高性能javascript> 领悟随笔之-------DOM编程篇二 序:在javaSctipt中,ECMASCRIPT规定了它的语法,BOM实现了页面与浏览器的交互,而DOM则承载着整个页面文档.DOM编程性能一直以来都是非常受开发者关注的话题,如何编写高性能的DOM是前端开发必不可少的技能. 1.重绘与重排 当浏览器加载完页面所有的元素.js.css.图片之后会自动生成两个数据结构: 1.dom树 (图片为转载) 如图所示,dom树表示了整个页面文档的结构,通过访问dom树我们可以得到某…
前言 前几天朋友问我,关于SQLServer数据库中对树形结构的表数据统计问题,需求大致如下: 分类表(递归数据),A的子分类是B,B的子分类是C--分类关系不间断,A为第一层,B为第二层,C为第三层--需要统计"每个分类所在的层数"."子分类的总数"和"子分类的层数". 解决思路: 创建示例表结构,代码如下: -- 分类示例表 create table temp_class ( classId ,), -- 分类ID,主键,递增 classNa…