alex1997222的博客

BATTLE FOR A BETTER LIFE

排序:
默认
按更新时间
按访问量

(模板)堆的快速搭建

堆排序是指使用堆结构对一个序列进行排序的过程,此处讨论递增排序的情况 考虑对一个堆来说,堆顶元素是最大的,因此在建堆完毕后,思路就是取出堆顶元素,然后将堆的最后一个元素替换至堆顶,再进行一次针对堆顶元素的向下调整--如此重复,直到堆中剩下最后一个元素为止 如此重复,直到堆中只剩下最后一个元素为...

2018-11-08 21:41:32

阅读数:68

评论数:0

(模板)AVL树的实现

#include <iostream> #include <algorithm> using namespace std; class ANode { public: int v, height; /...

2018-11-05 09:19:55

阅读数:30

评论数:0

(方法)给定一个有序数列,通过中序遍历利用数组建立起二叉查找树(PAT1064)

建树的时候,有时候没有必要大费周章地去通过结点构造一棵二叉树,我们利用各结点之间的数学关系,通过数组就可以实现一棵二叉树,假设结点序列为a,那么其左子就是a*2,右子就是a*2+1 由于二叉树中序遍历的结果是一串有序序列,那么我们可以通过中序来得到一棵二叉树 void leveltra(in...

2018-11-01 18:33:41

阅读数:31

评论数:0

(方法)利用层序遍历返回二叉树上的节点

我们在查找二叉树上的节点时,会通过递归去进行遍历,如果我们要把这个节点作为函数返回值进行返回的话,递归遍历法就无法满足 我们可以通过层序遍历去查找结点然后进行返回,只需一个辅助队列就行 中序遍历的思想很简单 (1)先将父亲结点入队 (2)如果父亲结点的左子不为空,左子入队 (3)如果父亲...

2018-10-05 16:18:47

阅读数:29

评论数:0

(方法)二叉树的广义表形式,建树和输出

二叉树的广义表示形式: a:表示根节点为a,左右节点均为空 a(b):表示根节点为a,左节点为b,右节点为空 a(,c):表示根节点为a,左节点为空,右节点为c a(b,c)表示父节点为a,左子节点与右子节点分别为b和c 同样的表示方法还有a(b(d),c)   存储广义表二叉树的方...

2018-10-05 16:08:34

阅读数:141

评论数:0

多态

C++中所谓的多态是指由继承产生相关的不同的类,其对象会对同一消息做出不同的反应 比如使用绘图软件时选择不同的图形,执行同一个托动作就可以绘制不同的图形 多态是面向对象的一个重要特征,能增加程序的灵活性,可以减轻系统的维护工作量 多态的基本要求:赋值兼容 赋值兼容规则是指,在需要基类的任何...

2018-08-28 22:29:40

阅读数:17

评论数:0

指向类成员/函数的指针

C++扩展了指针在类中的使用,使其可以指向类成员,这种行为是类层面的,而不是对象层面的。 指向类成员/函数的指针的本质并不是取地址.而是利用了对象地址的偏移量 我们创建了一个类,假设我们要使用指针指向类中的成员 class Student { public: Student(string...

2018-08-23 16:36:04

阅读数:17

评论数:0

类成员指针及成员函数指针

如果我们要指定一个指向类内部元素的指针,那我们该怎么操作呢 假设我们定义了一个类:里面有两个变量和两个函数 struct Vector { public: int x; int y; public: Vector(int tX, int tY) :x{ tX }, y{ tY } {...

2018-08-04 21:03:34

阅读数:22

评论数:0

菱形继承

两个子类继承同一个父类,而又有子类又分别继承这两个子类,就称作菱形继承 多重继承产生的二义性 假设有一个基类,他派生了两个子类分别继承于它,比如说下面这个例子: class A { public: A(int d) { cout << ...

2018-08-02 18:00:05

阅读数:28

评论数:0

面向对象常用STL函数与算法(常用模板算法笔记)

STL里面的所有容器都有迭代器的概念,迭代器分为好几类,有只读的,有随机的 有顺序的,等等。C++当初在设计迭代器的时候,是想把它设计成指针那么用,类似一个数组指针,我们可以对其进行++和—操作,可以*它,也可以->它。这些指针具有的操作,迭代器基本都有 之所以要一对迭代...

2018-07-31 20:58:39

阅读数:39

评论数:0

浅拷贝与深拷贝(防止指针传递而出错)

C++中,一个对象的实例可以像int一样,可以被复制构造和传递,而且不用担心new和delete的问题     (1)要保证这个类型的构造函数和析构函数,如果没有的话就意味着自动生成那些,应该是对使用者可见的          (2)   复制语义要准确,一个值类型可以使用operator=运...

2018-07-26 15:11:38

阅读数:48

评论数:0

HTML5介绍以及常用标签

标题:h1,h2,h3,h4,h5段落:p换行:br容器:div,span表格:table,tr,td列表:ul,ol,li链接:a图片:img表单:input

2018-01-02 15:54:17

阅读数:107

评论数:0

C++ 重载实例:复数的运算操作

因为涉及到输入流和输出流的重载,这里先介绍一下输入流和输出流的重载方法: struct Vector { int x; int y; }; 我们要在输出流中直接输出类,比如(1,2),(3,4),那么我们该怎么做呢 这个时候我们要重载输出流: ostream&am...

2017-11-18 22:19:48

阅读数:257

评论数:0

(PAT)N Queens Puzzle(N皇后改版)

The "eight queens puzzle" is the problem of placing eight chess queens on an 8×8 chessboard so that no two queens threaten each oth...

2018-11-13 18:49:07

阅读数:63

评论数:0

(PAT)1107 Social Clusters (并查集)

When register on a social network, you are always asked to specify your hobbies in order to find some potential friends with the same hobbies. A soci...

2018-11-12 15:37:22

阅读数:29

评论数:0

并查集

森林: 森林是由若干棵互不相交的树组成,两棵树分别独立,没有交集 并查集: 并查集的结构和森林十分相似,是用于解决不相交集合如下若干几种操作的统称 1.MAKE_SET(x):初始化操作,建立一个只包含元素x的集合 2.UNION(x,y):合并操作,将包含x和y的集合合并成一个新集...

2018-11-12 09:26:23

阅读数:25

评论数:0

C语言文件权限/数学函数总结

C语言文件权限/数学函数总结 文件权限函数整体概述 access():判断是否具有存取文件的权限 alphasort():依字母顺序排序目录结构 chdir():改变当前的工作目录 chmod():修改文件权限 chown():改变文件所有者 chroot():改变文件根目录 closedir()...

2018-11-11 20:25:48

阅读数:32

评论数:0

(计蒜客)蒜头君捡石子(堆 优先队列)

解题思路: 这题可以用优先队列解决 我们把所有石子距离自己的距离和石头可以扔出的最远距离构成一个优先级队列 这个队列的优先级为距离自己的距离,如果距离自己的距离相同,那么优先级为可以扔出的最远距离 这样我们可以构建出堆 #include <iostream&a...

2018-11-10 16:20:50

阅读数:14

评论数:0

(PAT)1147Heaps(判断是大顶堆还是小顶堆)

In computer science, a heap is a specialized tree-based data structure that satisfies the heap property: if P is a parent node of C, then the key (th...

2018-11-09 19:09:25

阅读数:67

评论数:0

(PAT)Insertion or Heap Sort(堆排序与插入排序)

  Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion sort removes one...

2018-11-09 14:26:05

阅读数:67

评论数:0

提示
确定要删除当前文章?
取消 删除