
数据结构
Xer兵
这个作者很懒,什么都没留下…
展开
-
【C/C++】【数据结构】直接插入排序
插入排序是把一个记录插入到有序序列中,仍使该序列有序,并且长度增加1。插入排序中最简单的排序方法是直接插入排序。头文件及其他函数代码见https://blog.youkuaiyun.com/qq_42379345/article/details/81366150直接插入排序函数int ListInsertSort(SqList *list, ElemType elem, int (*p)(E...原创 2018-08-03 20:30:44 · 434 阅读 · 0 评论 -
【C/C++】【数据结构】八大排序
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。本文将依次介绍上述八大排序算法。算法一:插入排序 插入排序示意图插入排序是一种最简单直观的排序算法,它的工作原理是通过...转载 2018-08-13 19:21:47 · 2618 阅读 · 1 评论 -
【C/C++】【数据结构】链式栈操作
目录链式栈操作头文件定义链式栈初始化链式栈判空链式栈入栈操作链式栈获取栈顶数据链式栈出栈操作链式栈重置链式栈销毁链式栈操作头文件定义#ifndef _LINKSTACK_H_#define _LINKSTACK_H_#include<stdlib.h>#define SUCCESS 10000#define FAILURE...原创 2018-08-08 19:02:47 · 532 阅读 · 0 评论 -
【C/C++】【数据结构】双向链表操作
目录双向链表操作头文件定义双向链表的初始化双向链表的插入 双线链表求链表长度双向链表的判空双向链表的遍历 双向链表的查找(通过位置求值)双向链表的检索(通过值求位置)双向链表的删除 双向链表的重置双向链表的销毁测试文件双向链表操作像双向链表的求长,判空,遍历,查找,检索,之类的操作都和单链表一样的。不过我还是在了文中。头文件定义...原创 2018-08-07 20:48:38 · 1268 阅读 · 0 评论 -
【C/C++】【数据结构】顺序表
顺序表也是线性表,具有线性结构。线性结构分为两种,一是顺序存储,在内存中是连续的;二是链式存储,在内存中是不连续的。 顺序表的特点:(1) 除第一个元素外,其他所有元素都只有一个直接前驱。(2) 除最后一个元素外,其他所有元素都只有一个直接后继。 顺序表有容量和长度两个属性。长度指的是,顺序表中有效元素的个数。容量指的是顺序表中最大的可能长度。若顺序表中的有效元素为0,...原创 2018-08-02 20:38:45 · 576 阅读 · 1 评论 -
【C/C++】【数据结构】二叉树的基本操作
二叉树的基本操作 按前辈们的说法,在嵌入式的开发中并不用得到二叉树。在次就仅仅对二叉树的基本操作作简单介绍。二叉树性质 (1)第 i 层最多有 2^(i-1) 个节点。(2)深度为 k 的二叉树至多有 2^k - 1 个节点。(3)若一个二叉树终端节点个数为 n,度为 2 的节点个数为 m,则有 n = m+1。(4)有 n 个节点的完全二叉树深度为 log2(n) + 1...原创 2018-08-11 21:43:02 · 1379 阅读 · 1 评论 -
【C/C++】【数据结构】单链队列操作
单链队列操作单链队列和单链表很相似。除了单链表具有的一些特性,单链队列还有两个分别指向队头和队尾的指针,就像是多了一种访问手段的单链表。(个人认为)利用单链队列进行操作前,除了要声明链表节点信息的结构体,成员为数据域和指针域,还要要声明一个代表队列信息的结构体,成员为队头指针和队尾指针。为了操作方便,也给单链队列添加了一个头结点。空的单链队列的判决条件为队头指针和队尾指针均指向头结点。...原创 2018-08-10 20:13:18 · 1062 阅读 · 0 评论 -
【C/C++】【数据结构】通讯录——链表实现
实现功能有:1.新建,添加联系人,理论上没有上限2.查看当前通讯录内所有联系人3.以名字为索引查找联系人4.以名字为索引修改联系人5.以名字为索引删除联系人6.按名字ASCII码值从小到大排序7.按下按键esc退出8.十分贴心地把字体调成了红色。 头文件 linkbook.h#ifndef _LINKBOOK_H#define _LINK...原创 2018-08-05 22:37:57 · 1976 阅读 · 0 评论 -
【C/C++】【数据结构】单链表操作
目录头文件定义单链表初始化单链表插入头插法尾插法中间插入单链表求链表长度单链表判空单链表遍历 单链表查找(通过位置求值)单链表检索(通过值求第一次出现的位置)单链表删除单链表重置 单链表销毁 反转单链表 测试文件头文件定义#ifndef _LINKLIST_H_#define _LINKLIST_H_#include ...原创 2018-08-04 20:51:58 · 851 阅读 · 0 评论 -
算法时间复杂度求解法
转载自:https://www.cnblogs.com/fanchangfa/p/3868696.html 算法的时间复杂度,是刚开始接触算法和数据结构时的概念,在真正使用的时候有时候常常忘记它的推导公式。最近准备校招,把二叉树、排序、查找等这些经典的算法复习了一遍,这次把这些都整理成博客以便以后查看,复习计划接近尾声,这两天老是不在状态,学习图的时候有点晕乎乎,今天反过头来把时间复杂度的求解...转载 2018-10-17 11:10:23 · 388 阅读 · 0 评论