算法
无限宕机
这个作者很懒,什么都没留下…
展开
-
优化的kmp算法
#include<iostream> #define maxlen 200 typedef struct stringnode{ char ch[maxlen]; int length; }sstring; void get_next(sstring t,int next[],int nextval[]){ int i=1; int j=0; next[1]=0; while(i<t.length){ if(j==0||t.ch[i]==t.ch[j]){ ++i;原创 2021-11-29 22:34:07 · 167 阅读 · 0 评论 -
kmp算法
其实核心难点在于next数组的求解。kmp算法的本质就是想偷懒。代入自己的大脑,如果你在比较两个字符串时只有最后一位不一样,接下来你会怎么做呢。你的做法就是kmp的做法 #include<iostream> #define maxlen 200 typedef struct stringnode{ char ch[maxlen]; int length; }sstring; int index(sstring s,sstring t){ int k=1; int i=k;int j=1;原创 2021-11-29 22:09:04 · 65 阅读 · 0 评论 -
链栈在括号匹配中的写法
我看了一下,大部分的使用的是顺序栈,我用链栈来试一试 如果有问题欢迎留言 #include <iostream> #include <cstdlib> using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop */ #include <cstring> #include<cstdio>原创 2021-11-28 21:31:21 · 352 阅读 · 0 评论 -
快速排序代码,有不懂留言解答
这是快速排序的一种写法,pivot点取中间 #include<iostream> using namespace std; int n; int a[10000]; int quick_sort(int a[], int start, int end) { if (start >= end) { return 0; } int left = start, right = end; int pivot = a[(start + end) / 2];//pivot的选取不能是首尾,原创 2021-11-13 19:35:04 · 358 阅读 · 0 评论