![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
summermoonlight
满船清梦压星河
展开
-
排序算法
归并算法 #include<stdio.h> #include <stdlib.h> #include<math.h> #include<iostream> #include<algorithm> #include<string.h> #include<vector> using namespace std; const int maxn = 100010; void merge(int a[], int l1, in原创 2021-02-24 01:13:20 · 87 阅读 · 0 评论 -
算法笔记tips
所有的浮点类型都使用double 除了%c之外,scanf队其他格式符号(%d)的输入是以空白符(空格,换行)为结束判断标志。 强调!!!scanf 的 %c 格式会把空格和换行按照字符读入 特别注意字符数组使用%s读入的时候以空格和换行符为读入结束的标志。 ...原创 2021-01-22 16:48:34 · 80 阅读 · 0 评论 -
二叉树的实现
自己实现了二叉树的结构及一些常规操作 贴在这里以便保存。 1、先序遍历 2、中序遍历 3、后序遍历 4、创建二叉树 5、复制二叉树 6、查找给定结点的父亲 7、查找结点 8、删除二叉树 9、插入结点 10、树root中删除结点t及其子树 11、非递归中序遍历算法 下面贴出代码: 1.h #pragma once #include<iostream> #include<string...原创 2019-10-13 15:42:40 · 171 阅读 · 0 评论 -
线性表的顺序存储结构
本代码实现了线性表顺序存储 完成了下列算法 建立空表 寻找 插入 删除 #include<iostream> #define maxsize 10 using namespace std; typedef int ElementType; typedef struct Lnode* List; /*注意:last是数组中最后一个元素的位置,由于数组是从0开始计数, 所以最后一个...原创 2019-09-05 20:41:52 · 397 阅读 · 0 评论 -
线性表的链式存储
下面的代码完成的算法有: 建立空表 初始化一个任意长度的链表(尾插法) 查找 插入 删除 一开始使用的是没有前哨结点的链表来完成,也确实实现了,但是此方法表头的插入、删除操作另外讨论。故使用有前哨结点的链表改了一下,代码简洁了很多。 **注意:**主函数要求你自己输入链表的各项值,9999结束输入 #include<iostream> typedef int ElementType...原创 2019-09-06 20:24:35 · 176 阅读 · 0 评论 -
堆栈的顺序存储
代码完成了下列算法 Initstack Push Pop Isfull Isempty 其实堆栈有两种表达方法 top指向栈顶元素 top指向栈顶元素的后一位 此代码使用的是前者 #include<iostream> using namespace std; typedef int ElementType; #define maxsize 10 typedef struct s...原创 2019-09-07 11:23:20 · 179 阅读 · 0 评论 -
堆栈的链式存储
先感叹下,前哨结点真的方便!不知是哪位前辈完美的想法 本代码完成了: Pop Push Initstack(创建前哨结点) Create(快速将元素压入栈) 注意:链栈无full的说法 代码要求你自己输入元素压栈,然后输出他们。每个人运行结果不一样,这里不贴运行结果,自己run吧。 这个代码有点像数组reverse的操作,并且还极其方便。 #include<iostream> ty...原创 2019-09-07 17:40:13 · 131 阅读 · 0 评论