C/C++
代号[K]
这个作者很懒,什么都没留下…
展开
-
<CPP>LZ77实现文件压缩
源代码获取:https://github.com/akh5/C-/tree/master/LZ77文件压缩LZ77简介LZ77原理介绍压缩标记长度距离对代码详解构建哈希表common.hhash_table.hppLZ77.hpp压缩方法解压方法LZ77简介LZ77是一种基于字典的算法,它将长字符串(也称为短语)编码成短小的标记,用小标记代替字典中的短语,从而达到压缩的目的。也就是说,...原创 2020-03-08 20:16:47 · 908 阅读 · 0 评论 -
<CPP>哈希思想,哈希表构造
Hash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。哈希哈希概念哈希函数插入及搜索元素哈希冲突闭散列线性探测开散列哈希概念 构造一种储存结构,通过某种函数,使得其元素的储存位置与他的关键码之间能够建立一一映射关系,那么在查找时通过该函数很快找到相应元素 简言之,就是设定某一固定...原创 2020-03-08 15:42:39 · 492 阅读 · 0 评论 -
<CPP>STL——vector应用总结
vector是可以储存任意类型的动态顺序表vector中包含的接口构造与销毁构造的方式容量操作元素访问元素修改操作迭代器迭代器失效构造与销毁构造的方式空构造n个值位value的构造区间构造拷贝构造容量操作函数功能size()capacity()empty()resize(n,data)元素访问函数功能o...原创 2020-02-04 10:51:24 · 277 阅读 · 0 评论 -
<CPP> string类写时拷贝
一种通过创建临时空间解决写时拷贝问题的方法指路:模拟实现string类。地址:https://blog.csdn.net/MPF1230/article/details/104059562源代码获取:https://github.com/akh5/C-/blob/master/STL/copyOnWrite.cpp由于浅拷贝多个对象共用一个资源,导致其中一个对象修改其内容时,会导致其他对象...原创 2020-01-31 18:34:25 · 283 阅读 · 0 评论 -
<CPP>模拟实现string类深浅拷贝
从构造,析构以及拷贝构造的方面理解string类的底层实现。源代码获取:https://github.com/akh5/C-/blob/master/STL/Mystring.cppstring的底层通过字符指针char*通过构造函数申请对应大小的空间,并将指针指向其空间。#include <stdio.h>#include <stdlib.h>#include...原创 2020-01-21 13:48:57 · 365 阅读 · 0 评论 -
<C>C风格字符串string.h
C语言本身没有字符串的标识符,C语言的字符串定义有两种方式,char*与char str[]C语言识别存储字符串,是靠数组的结构,单个字符储存,并在末尾处自动加上 '\0’作为字符串结束的标识。char*定义的字符串char* 定义的变量存储在字符常量区,定义的是一个常量。所以char* 一旦定义的就无法修改内部的单个字符。所以通常使用 const char*char str[]定义的字符...原创 2020-01-18 16:47:49 · 187 阅读 · 0 评论 -
<C>理解深浅拷贝
从地址角度理解浅拷贝与深拷贝的实现与区别 当实例化一个对象的时候,调用构造函数,系统为给当前对象在栈上分配对应大小的地址空间,并通过指针指向当前地址空间首地址。 如果我们新建对象,并用已有对象初始化当前对象,此时编译器就会自动创建拷贝构造,而拷贝构造有深浅拷贝之分。 编译器默认的拷贝为浅拷贝。浅拷贝 浅拷贝的实质是拷贝对象的地址,将当前对象的地址拷贝为已知对象的内...原创 2020-01-17 18:19:46 · 222 阅读 · 0 评论 -
<C>文件操作
文件分为数据文件和程序文件数据文件文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件。程序文件包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)。根据数据的组织形式,数据文件被称为文本文件或者二进制文件文本文件要求在外存上以ASCII码的形式存储,则...原创 2020-01-16 23:49:18 · 188 阅读 · 0 评论 -
文件缓冲区介绍与理解
何为文件缓冲区?文件缓冲区 缓冲文件系统是系统自动在内存中为程序中每一个正在使用的文件开辟一块“文件缓冲区”。 从内存向磁盘输出的数据会先送到内存的缓冲区,等装满缓冲区后一起送到磁盘上 从磁盘向计算机读入数据,则从磁盘文件中读取数据输入到内存缓冲区,然后再从缓冲区中将数据送到程序数据区简单理解缓冲区技术,举个例子说明:word文档我们都应该用过!大家每当打开一个wo...原创 2020-01-16 18:18:16 · 4917 阅读 · 1 评论 -
STL——string类的使用总结
string类是表示字符序列的类,并添加了专门用于操作单字节字符串的设计图为string常用接口。 string的常用接口模块string的构造容量操作元素访问操作元素修改操作关于字符串特殊操作迭代器1.string的构造string的4种常见的构造方式 string() string(const char*) string(size_t , c...原创 2020-01-14 23:56:42 · 206 阅读 · 0 评论