
笔记
文章平均质量分 78
xcato
随缘更新博客,记录和分享技术,希望大家能留下宝贵的建议
展开
-
C++快速排序(快排) 归并排序
快速排序快速排序(英语:Quicksort),又称分区交换排序(partition-exchange sort),简称快排,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序n个项目要O(n\log n)(大O符号)次比较。在最坏状况下则需要 O(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地达成。代码#include<iostream>using namespace std;原创 2020-05-29 20:15:37 · 1191 阅读 · 0 评论 -
数据结构—串—BF算法—KMP算法
文章目录一 . 串1 . 串的定义2 . 串的抽象类型定义3 . 串的存储结构1)串的顺序存储2)串的链式存储二 . 串的模式匹配算法1 . BF算法2 . KMP算法求解next求解next函数的修正值(nextval)一 . 串计算机上的非数值处理的对象大部分是字符串数据,字符串一般简称为串串是一种特殊的线性表,其特殊性体现在数据元素是一个字符,也就是说,串是一种内容受限的线性表。...原创 2020-01-20 14:44:49 · 1144 阅读 · 0 评论 -
单链表的头添加尾添加
#include<iostream>#include<cstdlib>using namespace std;struct Node{ int a; struct Node *pNext;};//链表头尾指针struct Node *g_pHead = NULL;struct Node *g_pEnd = NULL;//创建链表,在链表中增加一个数据 ...原创 2020-01-09 20:41:17 · 183 阅读 · 0 评论 -
队列(循环队列,链队)的基本操作
文章目录一 . 队列的抽象数据类型定义二 . 循环队列1 . 队列的顺序存储结构表示一 . 队列的抽象数据类型定义ADT Queue{ Data 同线性表。元素具有相同的类型,相邻元素具有前驱和后继关系。 Operation InitQueue(&Q) 队列初始化 DestroyQueue(&Q) 若队列存在,销毁队列 ClearQueue(&Q...原创 2020-01-16 16:13:27 · 2998 阅读 · 0 评论 -
顺序栈和链栈的初始化,出栈,进栈的具体实现(new和exit的用法)
文章目录一 . 栈的定义和特点二 . 栈的抽象类型定义三 . 顺序栈的基本操作1 . 顺序栈的定义2 . 初始化new和exit的用法new的用法:exit的用法:3 . 入栈(压栈)4 . 出栈5 . 取栈顶元素四 . 链栈的基本操作1 . 链栈的定义2 . 初始化3 . 入栈4 . 出栈5 . 取栈顶元素五 . 顺序栈操作的实现六 . 链栈基本操作的实现一 . 栈的定义和特点栈的基本操作...原创 2020-01-13 22:25:05 · 3534 阅读 · 0 评论 -
线性链表(单链表)的基本操作的实现
#include<iostream>#include<cstdlib>using namespace std;//结点结构体struct Node { int a; struct Node *pNext;};//链表头尾指针struct Node *g_pHead = NULL;struct Node *g_pEnd = NULL;//创建链表,在链表...原创 2020-01-10 19:15:40 · 315 阅读 · 0 评论 -
线性链表(单链表)的基本操作
文章目录一 . 链表的特点和定义二 . 单链表的基本操作的实现1 . 初始化2 . 添加1 . 头添加2 . 尾添加3 . 查1 . 遍历整个链表2 . 查询指定结点4 . 插入5 . 删除1 . 尾删除2 . 头删除3 . 删除指定结点6 . 清空链表一 . 链表的特点和定义链表是一种物理上非连续、非顺序的存储结构,数据元素之间的顺序是通过每个元素的指针关联的。链表的特点:链表由...原创 2020-01-10 18:55:19 · 2824 阅读 · 0 评论 -
顺序表的实现
顺序表的实现这一篇感觉。。。好 。。乱。不忍直视。。。#include<iostream>#define MAXSIZE 15#define OVERFLOW -2using namespace std;typedef struct{ int *elem; int length;}Sqlist;bool InitList(Sqlist &L){ ...原创 2020-01-07 20:48:24 · 242 阅读 · 0 评论 -
c++ STL库string基本知识
STL简介:C++含义:C语言+类+模板(STL就是活生生的实例)STL 全称Standard Template Library 意思为:标准模板库。c++优于c语言的重要一点就是STL库,使编程更加有效率。STL有六部分组成:容器,迭代器,算法,适配器,分配器,仿函数。比较常用的有三个:容器,迭代器,算法。而分配器,仿函数并不会将常用到。容器(container)系统帮我们封装好的...原创 2019-12-21 04:12:38 · 697 阅读 · 0 评论 -
数据结构基础知识
数据结构绪论:早期的计算机主要用于数值计算,现在,计算机主要用于非数值计算,包括处理字符,表格和图像等具有一定结构的数据 。这些数据内容存在着某种着联系,只有分清楚数据的内在联系,合理的组织数据,才能对他们进行有效地处理,设计出高效的算法。如何合理的组织数据,高效的处理数据,这就是“数据结构”主要研究的问题。程序设计 = 数据结构 + 算法数据结构概念和术语:**数据,数据元素,数据...原创 2020-01-06 18:45:06 · 1692 阅读 · 0 评论 -
线性表中顺序表的基本操作
线性表的定义和特点同一线性表中的元素必定有相同的特性,即属于统一数据对象,相邻数据元素之间存在着序偶关系。由n(n>=0)个数据特性相同的的元素构成的有限序列称为线性表线性表中元素的个数n(n>=0)定义为线性表的长度,n=0时称为空表线性结构示意图:对于非空的线性表或线性结构,其特点是:存在唯一的一个被称为“第一个”的数据元素;存在唯一的一个被称为“最后一个”的...原创 2020-01-07 18:16:43 · 877 阅读 · 0 评论 -
c++ STL库vector基本知识
文章目录一 . 向量(动态数组)二 . 头文件三 . 定义向量的对象四 . 构造参数五 . 容量1 . capacity2 . reserve六 . 大小1 . size2 . resize3 . empty七 . 操作1 . 输出1 )``迭代器``输出2)``下标运算``输出3)for_each2 . 增加1)尾增加(push_back())2)中间添加(insert)3 . 删除1)尾删除(...原创 2020-01-08 14:49:02 · 523 阅读 · 0 评论