- 博客(16)
- 收藏
- 关注
原创 数据库系统概念
第一章数据抽象:物理层、逻辑层、视图层特定时间存储在数据库中的信息集合:实例数据库总体设计:数据库模式,物理模式:物理层描述数据库的设计。数据模型:关系模型:表的集合。oracle非关系型:redis实体-联系模型基于对象的数据模型:实体模型增加了封装、方法和对象等标识后的扩展。半结构化数据模型:xml历史:网状数据模型、层次数据模型数据库语言数据库操纵语言DML:增删改查数据库定义语言DDL域约束:每个属性对应于一个所有可能的取值构成的域参照完整性:多表中数据一致断言:需要
2022-05-25 11:39:03
96
原创 链表快速实现
#ifndef _LCA_LIST_HEAD_H#define _LCA_LIST_HEAD_H#ifdef __cplusplusextern “C” {#endif/*These are non-NULL pointers that will result in page faultsunder normal circumstances, used to verify that nobody usesnon-initialized list entries.*/#define LI
2022-05-25 10:27:39
54
原创 fifo快速实现
#ifndef SIMPLE_FIFO_H#define SIMPLE_FIFO_H#ifdef __cplusplusextern “C” {#endif#include <stdio.h>#include <string.h>#include <inttypes.h>struct simple_fifo {uint32_t cnt; /* total count of elements /uint32_t in;uint32_t out;uin
2022-05-25 10:14:35
141
原创 常用函数整理
#include#include#include#include#include #include using namespace std;(1)// 分区,数字大的在分区右侧,小的在左侧int do_part(int data[], int length, int start, int end){if (data == nullptr || length <= 0 || start < 0 || end >= length) {return -1;}int i
2022-05-25 10:10:42
98
原创 剑指offer题目整理
依据解题方法划分:一、根据数据结构划分1.链表O(1)时间内删除链表的某个节点:将要删除链表的下一个节点复制到本节点,本节点指针与下一个节点的指针指向的内容互换。头节点直接删除,尾节点扔需遍历。反转链表:增加一个pre,一个cur,一个next2.树3.栈从尾到头打印链表:元素插入栈,判断栈不为空则打印两个栈实现队列:尾插,直接插入即可。头删,栈1数据转栈2,删除栈2顶部包含min函数的栈:定义两个栈,一个存数据,一个存该数据对应的最小值。栈的压入弹出序列:构造辅助栈,压入元素,与pop
2022-01-07 17:57:31
599
原创 第十二章——类和动态内存分配
一、动态内存和类1、不能在类初始化中初始化静态成员变量。原因:声明描述了如何分配内存,但不分配内存。静态类成员,使用单独的语句初始化,静态类成员单独存储,不是对象的组成部分。2、静态数据成员在类声明中声明,在包含类方法的文件中进行初始化。初始化时使用作用域运算符来指出静态成员所属的类。但静态成员为整型或枚举型const,则可以在类声明中初始化。3、构造函数使用new来分配内存,析构函数使用delete释放。StringBad::StringBad(const char *s){ len
2021-02-23 16:12:54
345
原创 第十一章——使用类
一、运算符重载1.C++多态之一,其实*在C语言已经被重载,取地址和乘法。operator op(list)operator*()//重载*运算符2.必须是有效的运算符3.类中定义重载 operator +()成员函数,则operator +(){...};district = sid + sara;//普通调用形式district = sid.operator+(sara);//编译器转换为:隐式调用sid,显式调用sara4.(1)返回对象或实际类型,将创建对象或实际类型的副本进行
2021-02-22 11:38:20
102
原创 快排
#include <bits/stdc++.h>using namespace std;class Solution{public://辅助交换函数void Swap(int &a, int &b){int temp = a;a = b;b = temp;}int partition1(int a[], int p, int r){ int flag = a[r]; int i = p - 1; for (int j = p; j < r
2021-02-22 10:42:54
81
原创 第八章——函数探幽
8.5.3 显式具体化template <class T>void Swap(T &a, T &b);template <>void Swap<job>(job &a, job &b);//template <>void Swap(job &a, job &b);也可以省略job8.5.4 实例化和具体化1.函数模板本身并不会生成函数定义,仅用于生成函数定义的方案。2.编译器使用模板为特定类型生成
2021-02-22 10:42:08
277
原创 第九章——内存模型和名称空间
一、1.头文件中内容:函数原型、#define与const常量、结构声明、类声明、模板声明、内联函数2.防止重复定义,防止二次包含,#ifndef #endif3.多个库链接,两个编译器可能为同一个函数生成不同修饰名称,最好是同一个编译器编译生成的库。二、存储持续性、作用域和链接性1.存储数据方案:自动存储,静态存储static,线程存储thread_local,动态存储new,存放于heap堆。2.作用域,名称在文件的多大范围可见;链接性,描述了名称如何在不同单元间共享。3.auto用于c
2021-02-22 10:41:55
118
原创 第十章——对象和类
一、抽象和类1.指定基本类型,完成的三项工作(1)数据对象需要的内存(2)如何解释内存中的位(3)可使用数据对象执行的操作或方法。2.规范:a、类声明:以数据成员的方式描述数据部分,以成员函数(方法)的方式描述公有接口。b、类方法定义:描述如何实现类成员函数。3.类数据成员,类成员函数,原型4.private成员,只可通过公有成员函数访问private私有成员。5.封装:(1)private数据隐藏(2)类函数定义和类声明,放在不同文件中(3)实现细节与抽象的公共接口分开6.private为
2021-02-22 10:40:56
198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人