自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 【C++】运算符优先级表

运算符优先级由高到低:运算符优先级 结合律 运算符 功能 用法 左 :: 全局作用域 ::name 左 :: 类作用域 class::name 左 :: 命名空间作用域 namespace::name 左 . 成员选择 object.member 左 -> 成员选择 pointer->member 左 []...

2020-09-04 17:48:21 294 1

原创 【C++】指针和引用的区别

C++中指针和引用的主要区别 1.指针是一个实体,指向内存中的具体的某一存储单元;而引用仅仅是对象的别名 2.引用在定义时必须被初始化;而指针不用 3.可以有const指针;但没有const引用 4.引用在定义时被初始化一次,绑定对象之后不再改变;指针可以改变所指对象(即存放地址) 5.引用不能为空;指针可以为空 6.sizeof(引用)得到的值是所绑定对象(变量)的大小;而sizeof(指针)得到的是指针本身的大小...

2020-08-21 00:44:37 293

原创 数据结构与算法--排序

一、排序的基本概念 1) 排序: 将一组杂乱无章的数据按一定规律顺次排列起来 // 将无序序列排成一个有序序列(由小到大或由大到小)的运算 2) 如果参加排序的数据结点包含多个数据域,那么排序往往是针对其中某个域而言 3) 排序方法的分类: * 按数据存储介质: 内部排序和外部排序 // 内部排序: 数据量不大、数据在内存,无需内外存交换数据...

2020-08-19 02:35:42 701

原创 数据结构与算法--散列表的查找

一、散列表的基本概念 1.基本思想 记录的存储位置与关键字之间存在对应关系(对应关系---hash函数) 2.基本术语 1) 散列方法(杂凑法): *选取某个函数,依该函数按关键字计算元素的存储位置,并按此存放; * 查找时,由同一个函数对给定值k计算地址,将k与地址单元中元素关键码进行比较,确定查找是否成功 2) 散列函数(杂凑函数...

2020-08-18 01:22:04 1410

原创 数据结构与算法--树表的查找

一、二叉排序树(二叉搜索树、二叉查找树) 1.二叉排序树的定义 二叉排序树或是空树,或是满足如下性质的二叉树: (1).若其左子树非空,则左子树上所有结点的值均小于根结点的值 (2).若其右子树非空,则右子树上所有结点的值均大于等于根结点的值 (3).其左右子树本身又各是一棵二叉排序树 2.二叉排序树的性质 中序遍历非空的二叉排...

2020-08-17 17:29:10 294

原创 数据结构与算法--线性表的查找

一、查找的基本概念 1) 查找表: 查找表是由同一类型的数据元素(或记录)构成的集合 2) 由于集合中的数据元素之间存在着松散的关系,因此查找表是一种应用灵便的结构 3) 查找: 根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素或(记录) // 关键字: 用来标识一个数据元素(或记录)的某个数据项的值 // 主关键字: 可唯一标识一个记录的关键字是主关键字(身份证号--唯一)...

2020-08-17 01:11:57 2002

原创 数据结构与算法--图的遍历及应用

一、图的遍历 图的遍历定义:从已给的连通图中某一顶点出发,沿着一些边访遍图中所有的顶点,且使每个顶点仅被访问一次 遍历实质:找每个顶点的邻接点的过程 图的特点:图中可能存在回路,且图的任一顶点都可能与其它顶点相通,在访问完某个顶点之后可能会沿着某些边又回到了之前的顶点 为避免重复访问: 解决思路:设置辅助数组visited[n],用来标记每个被访问过的顶点 * 初始状...

2020-08-16 20:31:54 1533

原创 数据结构与算法--图的定义及存储结构

一、图的定义和术语 1.图的定义 图: G=(V,E) V: 顶点(数据元素)的有穷非空集合 E: 边的有穷集合 1) 无向图: 每条边都是无方向的 2) 有向图:每条边都是有方向的 3) 完全图: 任意两个点都有一条边相连 4) 稀疏图:有很少边或弧的图(e<nlogn) ...

2020-08-12 04:28:19 726

原创 数据结构与算法--哈夫曼树及其应用

一、哈夫曼树的基本概念 1) 路径: 从树中一个结点到另一个结点之间的分支构成这两个结点间的路径 2) 结点的路径长度: 两结点间路径上的分支数 3) 树的路径长度:从树根到每一个结点的路径长度之和;记作TL 4)结点数目相同的二叉树中,完全二叉树是路径长度最短的二叉树 5) 权: 将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权 6) 结点的带权路径长度:从根...

2020-08-09 00:04:18 1551

原创 数据结构与算法--树和森林

一、树和森林定义 1) 树是n(n>=0)个结点的有限集;若n=0,称为空树 若n>0 (1) 有且仅有一个特定的称为根的结点 (2) 其余结点可分为m(m>=0)个互不相交的有限集T1,T2,T3,...Tm 2) 森林:是m(m>=0)棵互不相交的树的集合二、树的存储结构 1.双亲表示法 实现: 定义结构数组...

2020-08-07 23:01:46 2823

原创 数据结构与算法--遍历二叉树和线索二叉树

一、遍历二叉树 1) 遍历定义: 顺着某一条搜索路径巡访二叉树中的结点,使得每个结点均被访问一次,而且仅被访问一次(又称周游) 2) 访问: 可以是对结点作各种处理,如:输出节点的信息、修改结点的数据值等,但要求访问不破坏原来的数据结构 3) 遍历目的: 得到树中所有结点的一个线性排列 4) 遍历用途: 它是树结构插入、删除、修改、查找和排序运算的前提,是二叉树一切运算的基础和核心 5) ...

2020-08-07 03:31:40 371

原创 数据结构与算法--树和二叉树

一、树(非线性结构) 1.树的定义 树是n(n>=0)个结点的有限集 *若n=0,称为空树 *若n>0,则它满足如下两个条件: (1) 有且仅有一个特定的称为根的结点 (2) 其余结点可分为m(m>=0)个互不相交的有限集T1,T2,...Tm,其中每一个集合本身又是一棵...

2020-08-06 03:20:08 406

原创 数据结构与算法--串、数组和广义表

一、串 1.串的定义 1) 串: 零个或多个任意字符组成的有限序列 2) 子串:一个串中任意个连续字符组成的子序列(含空串)称为该串的子串 3) 真子串:真子串是指不包含自身的所有子串 4) 主串: 包含子串的串相应的称为主串 5) 字符位置: 字符在序列中的序号为该字符在串中的位置 6) 子串位置: 子串第一个字符在...

2020-08-05 03:43:29 462

原创 数据结构与算法--队列的表示及基本操作

一、队列的定义和特点 1) 队列是一种先进先出的线性表;在表一端插入(表尾),在另一端(表头)删除 2) 队列的逻辑结构:与线性表相同,仍为一对一关系 3) 队列的存储结构: 顺序存储或链式存储...

2020-08-01 03:28:59 577

原创 数据结构与算法--栈的表示及基本操作

一、栈的定义和特点 1) 栈是一个特殊的线性表,是限定仅在表尾(栈顶)进行插入和删除操作的线性表 2)栈又称为后进先出的线性表,简称LIFO结构 3) 表尾称为栈顶Top,表头称为栈底Base 4) 插入元素到栈顶,称为入栈;从栈顶删除最后一个元素的操作,称为出栈 5) 栈的逻辑结构: 与线性表相同,仍为一对一关系 6) 栈的存储结构:顺序存储或链式存储...

2020-07-31 04:33:54 1159

原创 数据结构与算法--双向链表及线性表应用

一、双向链表 1) 双向链表: 在单链表的每个结点里在增加一个指向其直接前驱的指针域 2) 双向循环链表: 让头结点的前驱指针指向链表的最后一个结点,让最后一个结点的后继指针指向头结点 3) 双向链表结构的对称性(设指针p指向某一结点): p->front->next = p = p->next->front; 4) 双向链表的结点类型定义:typed...

2020-07-30 01:57:42 386

原创 数据结构与算法--循环链表的表示及基本操作

一、循环链表 1) 循环链表:是一种头尾相接的链表(表中最后一个结点的指针域指向头结点,整个链表形成一个环) 2) 优点:从表中任一结点出发均可找到表中其他结点 3) 循环链表中没有NULL指针,当遍历链表时,终止条件是最后一个结点的指针域是否等于头指针 4) 尾指针表示单循环链表: 首元结点的存储位置: R->next->next; ...

2020-07-29 03:17:30 5103

原创 数据结构与算法--单链表的表示及基本操作

一、线性表的链式表示和实现 1.链式存储结构: 结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻 2.线性表的链式表又称为非顺序映像或链式映像 3.用一组物理位置任意的存储单元来存放线性表的数据元素 //这组存储单元既可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的 4.单链表是由头指针唯一确定的,因此单链表可以用头指针的名字来命名 ...

2020-07-28 23:05:14 1707

原创 数据结构与算法--顺序表的表示及基本操作

一、线性表的定义和特点 1.线性表是具有相同特性的数据元素的一个有限序列 2.线性表由n(n>=0)个数据元素(结点)a1,a2,...an组成的有限序列 *其中数据元素的个数n定义为表的长度 *当n=0时称为空表 *将非空的线性表(n>0)记作:(a1,a2,...an) * 这里的数据元素ai(1<=i<=n)只是一个抽象的符号,其具...

2020-07-27 19:14:47 2380

原创 数据结构与算法--基本概念

一、数据结构的研究内容 1.通常用计算机解决一个问题的步骤: 具体问题抽象为数学模型-->设计算法-->编程、调试、运行 2.具体问题抽象为数学模型过程为: 分析问题-->提取操作对象-->找出操作对象之间的关系-->用数学语言描述 3.描述非数值计算问题的数学模型不是数学方程,而是诸如表、树、图之类的具有逻辑关系的数据 ...

2020-07-26 00:03:15 518

原创 C_预处理器和C库

一、预处理器 1) C预处理器在程序执行之前查看程序(故称之为预处理器) 2) 根据程序中的预处理器指令,预处理器把符号缩写替换成其表示的内容 3) 预处理器可以包含程序所需的其他文件,可以选择让编译器查看哪些代码 1.预处理之前 在预处理之前,编译器必须对该程序进行一些翻译处理 1.首先,编译器把源代码中出现的字符映射到源字符集 2.编...

2020-07-24 20:09:36 286

原创 C_位操作

一、二进制数、位和字节 1) 数字计算机通过关闭和打开状态的组合来表示信息,这两种状态分别用0和1来表示 2) 计算机以2为基底表示的数字被称为二进制数 1.二进制整数 1) 通常,1字节包含8位;C语言用字节表示储存系统字符集所需的大小 2) 1字节(8位)从左往右分别编号7~0;每一位的编号对应2的相应指数 3) 在1字节中,编号是7的位被称为高阶位...

2020-07-23 14:24:04 367

原创 C_结构体和其他数据形式

一、结构体 1.建立结构体声明 例: struct book{ char arr[20]; char st[10]; float value; }; //声明一个由两个字符数组和一个float类型变量组成的结构体 1) 该声明并未创...

2020-07-22 01:54:23 407

原创 C_文件输入/输出

一、与文件进行通信 1) 程序从文件中读取信息或把信息写入文件,这种交互形式就是文件重定向 2) 文件通常是在磁盘或固体硬盘上的一段已命名的存储区 3) C把文件看作是一系列连续的字节,每个字节都能被单独读取 4) C提供两种文件模式: 文件模式和二进制模式...

2020-07-20 04:02:57 315

原创 C_存储类别、链接和内存管理

一、存储类别 1.作用域:描述程序中可访问标识符的区域 1) 一个C变量的作用域可以是块作用域、函数作用域、函数原型作用域或文件作用域 2) 块是用一对花括号括起来的代码区域(例:整个函数体、函数体的任意复合语句) 3) 定义在块中的变量具有块作用域,块作用域变量的可见范围是从定义处到包含该定义块的末尾 4) 函数作用域仅用于goto语句的标签,一个标签首次出现在函数的内层...

2020-07-18 01:31:25 229

原创 C_字符串和字符串函数

一、字符串 举例: 字符串的几种表示方式#include<stdio.h>#define NAME "I am LAND_CRUISERSYH" //字符串常量#define LONGTH 50int main(){ char words[LONGTH] = "Hello world!"; //char类型数组 const char *p = "I am coming"; //指向char的指针 ...

2020-07-16 22:17:21 777

原创 c_数组和指针

一、数组 1) 数组由数据类型相同的一系列元素组成 2) 声明数组告诉编译器数组中元素的数量及类型 例: float num[30]; //内含30个float类型元素的数组 char ch[10]; //内含10个char类型元素的数组 ...

2020-07-15 14:32:26 213

原创 C_函数

一、函数 1.函数是完成特定任务的独立程序代码单元 2.使用函数可以消除重复代码 简单举例: 打印表头表尾的一行40个*#include<stdio.h>#define NAME "LAND_CRUISERSYH"#define ADDRESS "Xi’an"#define AGE 23#define WIDTH 40void func(); //函数声明int main(){ fu...

2020-07-14 15:22:49 269

原创 C_字符输入/输出

一、单字符I/O: getchar()和putchar() 1.简单举例(重复输入,遇‘#’结束)#include<stdio.hint main(){ char ch; while((ch = getchar())!='#') putchar(ch); return 0;} 说明: 1) C把stdio.h头文件与getchar()和putchar()相关联 2)...

2020-07-13 18:04:57 152

原创 C_控制语句_分支和跳转

一、if语句 if语句的通用形式: if(expression) statement 1) if语句被称为分支语句或选择语句,相当于一个交叉点,程序要在两条分支中选择一条执行 2) 如果对expression求值为真(非0),则执行statement;否则,跳过statement 3) 如果满足条件可执行的话,...

2020-07-11 00:20:28 186

原创 C_控制语句_循环

一、while语句 1.while循环的通用格式 while(expression) statement 说明: 1) statement部分可以是以分号结尾的简单语句,也可以是用花括号括起来的复合语句 2) expression部分都使用关系表达式(expression为真,执行statement部分;在判断expression,为假循...

2020-07-09 17:29:26 324

原创 C_运算符、表达式及语句

一.基本运算符 1.赋值运算符:= C使用可修改的左值标记那些可赋值的实体 举例: num = 2020; 说明: 1).=左侧是一个变量名,右侧是赋给该变量的值 2) 上面的语句读作: 把值2020赋给变量num 3) 赋值行为从右往左进行 4) 赋值表达式语...

2020-07-08 17:17:44 239

原创 C_字符串和格式化输入/输出

1.字符串简介字符串是一个或多个字符的序列例: "Hello world"注: 双引号不是字符串的一部分(仅告知编译器它括起来的是字符串)2.char类型数组和null字符('\0')(1).C语言没有专门用于存储字符串的变量类型,字符串都被存储在char类型的数组中(2).数组由连续的存储单元组成,字符串中的字符被储存在相邻的存储单元中,每个单元存储一个字符...

2020-07-07 20:15:57 471

原创 C_基本数据类型

1.常量和变量 (1).常量:在程序使用之前已经预先设定好,在整个程序的运行过程中没有变化 (2).变量:在程序运行期间可能会被改变或被赋值2.数据类型关键字C语言的数据类型关键字 ...

2020-02-28 23:03:32 1050

原创 C_历史与概述

1.1972年,贝尔实验室的丹尼斯·里奇和和肯·汤普逊在开发UNIX操作系统时设计了C语言,C语言是在B语言(汤普逊发明)的基础上进行设计。2.C语言的优点:强大控制结构、高效性、代码紧凑和可移植性(源代码无需修改就能在不同的计算机中成功编译)3.编译器:编译器是把高级语言程序翻译成计算机能理解的机器语言指令集(数字指令码)的程序(把源代码转换成可执行代码的程序),在大多数系统中,编译器运...

2020-02-24 21:29:55 371

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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