![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Yuki(void)
这个作者很懒,什么都没留下…
展开
-
栈的简单应用---括号匹配和表达式(逆波兰表达式和中缀表达式)的计算
1.括号匹配算法思路:从左往右依次扫描括号串,如果遇到左括号串如 (, [ ,{ ,将它们入栈,如果遇到右括号串如 ) , ], } , 则从栈中出栈一个左括号,并检测是否于该右括号匹配。该思路有三种不匹配的情况,一是括号不匹配,二是扫到右括号时左括号栈已经为空,三是整个字符串扫描完毕后,左括号栈中依然还有左括号未出栈。如果以上三种情况都不满足,则说明该括号串是匹配的/* * 判断括号字符串是否匹配 * */#include<iostream>#include<string&g原创 2022-03-30 16:16:39 · 550 阅读 · 0 评论 -
数据结构--顺序表和单链表
顺序表的基本操作//顺序表静态分配内存空间的情况#include<bits/stdc++.h>using namespace std;const int maxsize = 100;//定义一个顺序表typedef struct{ int data[maxsize]; int len;//顺序表的长度}Seqlist;//初始化一个顺序表bool InitSeqlist(Seqlist &L){ for(int i = 0;i<maxsize;i原创 2022-03-12 22:27:34 · 1921 阅读 · 0 评论 -
2-路归并排序(二分思想)
归并排序是一个很经典的题目,通常最简单的做法是利用二分和递归的思想来完成。以C语言网上的题目为例:归并排序//使用二分递归的思想进行归并排序#include<bits/stdc++.h>using namespace std;const int maxn = 1e5+5;int a[maxn];//合并,注意L2 = R2+1, L2与R2紧紧相邻void Merge(int a[],int L1,int R1,int L2,int R2){ int i = L1;原创 2021-09-18 09:59:52 · 254 阅读 · 0 评论