数据结构与算法
数据结构与算法
哈士奇超帅
我变秃了 也变强了
展开
-
C++面向对象思想下的进制转换
C++面向对象思想实现进制转换。基于面向对象的思想,应该讲数字与转换的方法分开,因为数字本身不可能有转换进制的功能,所以应单独将数字与转换进行封装。构建两个类:1.数字类 string num 保存数字,如:A3 int binary 保存进制 如:16 2.转换类 各种转换进制的成员函数原创 2015-07-19 09:00:28 · 1313 阅读 · 0 评论 -
static_cast、dynamic_cast、const_cast 和 reinterpret_cast 总结
static_cast、dynamic_cast、const_cast 和 reinterpret_cast 总结C++中的类型转换分为两种:隐式类型转换显式类型转换而对于隐式变换,就是标准的转换,在很多时候,不经意间就发生了,比如int类型和float类型相加时,int类型就会被隐式的转换位float类型,然后再进行相加运算。而关于隐式转换不是今天总结的重点,重点是显式转换。在标准C...原创 2018-09-28 10:02:03 · 287 阅读 · 0 评论 -
++i 与 i++
i++ 与 ++i 的主要区别有两个1、 i++ 返回原来的值,++i 返回加1后的值2、 i++ 不能作为左值,而++i 可以首先解释下什么是左值,左值是对应内存中有确定存储地址的对象的表达式的值,而右值是所有不是左值的表达式的值。一般来说,左值是可以放到赋值符号左边的变量。但能否被赋值不是区分左值与右值的依据。比如,C++的const左值是不可赋值的;而作为临时对象的右值可能允许被赋值。...原创 2018-09-28 10:02:14 · 318 阅读 · 0 评论 -
C++ 引用
C++引用// GCC 4.7.2#include <iostream>using namespace std;class A{public: A (int number) : n(number) {}public: int& n;};void func (int& a) { ++a;}int ma...原创 2018-09-28 10:02:31 · 118 阅读 · 0 评论 -
C++ STL <mutex> 互斥体
ee原创 2018-09-28 10:02:40 · 962 阅读 · 0 评论 -
char*、char[]、string 互转
string转换为char*1.datastring str="good boy";const char *p=str.data();2.c_strstring str="good boy";const char *p=str.c_str();3.copystring str="good boy";char p[20];str.copy(p,5,0); //这里5,代表复制..原创 2018-09-28 10:02:56 · 210 阅读 · 0 评论 -
分布式系统原理(5)Quorum 机制
分布式系统原理(5)Quorum 机制Quorum 机制是一种简单有效的副本管理机制。本节首先讨论一种最简单的副本控制规则write-all-read-one,在此基础上,放松约束,讨论 quorum 机制约定为了简化讨论,本节先做这样的约定:更新操作(write)是一系列顺序的过程,通过其他机制确定更新操作的顺序(例如 primary-secondary 架构中由 primary 决定顺...原创 2018-10-11 15:49:08 · 694 阅读 · 0 评论 -
无栈非递归中序遍历非线索化二叉树
试设计一个非递归算法,按中根顺序遍历非线索二叉树,但不得用任何辅助。在执行算法期间,允许改变LLINK和RLINK的值。 如何不用辅助栈非递归遍历二叉树呢?这里给出了一个比较方便的算法,其基本思路是依次将每个结点p左子树的最右结点指向p,不停回溯,用类似右线索化的方式中序遍历二叉树。 具体算法如下所示: 1. 若p有左儿子: ...原创 2014-10-30 13:10:34 · 4364 阅读 · 2 评论 -
C++复数运算的运算符重载
C++提供了运算符重载,极大地方便了自定义类型之间的运算,本文就最简单的复数运算实现让初学者体会运算符重载的作用以及运算符重载的原理。原创 2015-07-19 09:07:22 · 10070 阅读 · 0 评论 -
优先队列(堆)priority queue
优先队列(堆)priority queue完全二叉树:除了最底层都被元素填满堆序性:除根节点,最小堆每个节点父亲的Key小于等于该节点的Key,最大堆反之优先队列的申明struct HeapStruct;typedef struct HeapStruct* PriorityQueue;PriorityQueue Initialize (int MaxElements);void...原创 2018-12-18 21:16:18 · 278 阅读 · 0 评论