
笔记
UniLCodes
这个作者很懒,什么都没留下…
展开
-
求给定一个串的next值(next[0]=-1)
#include<iostream> using namespace std; void GetNext(string &str, int next[]){ next[0] = -1; int i = 0, j = -1; while (i < str.size()-1){//前一位比较完就行了,最后一位比的话就越界了 if (j == -1 || str[i] == str[j]){ ++i; ++j; next[i] = j; } els原创 2021-12-27 08:58:35 · 440 阅读 · 0 评论 -
简单选择排序
#include<iostream> using namespace std; void SelectSort(int arr[] ,int n){ int minValue; for(int i=1;i<n;i++){ minValue = i; for(int j=i+1;j<=n;j++){ if(arr[minValue]>arr[j]){ minValue=j;原创 2021-12-27 08:57:31 · 435 阅读 · 0 评论 -
交换排序-起泡法
#include<iostream> using namespace std; void BubbleSort(int arr[],int n){ for(int i=1;i<=n;i++){ for(int j=1;j<=n-i+1;j++){ if(arr[j]>arr[j+1]){ arr[0] = arr[j]; arr[j] = arr[j+1];原创 2021-12-27 08:56:36 · 438 阅读 · 0 评论 -
KMP(C++)
#include<iostream> #include<string> using namespace std; void GetNext(string &str, int next[]){ next[0] = -1; int i = 0, j = -1; while (i < str.size()-1){ if (j == -1 || str[i] == str[j]){ ++i; ++j; next[i] = j; } els原创 2021-12-25 16:04:34 · 193 阅读 · 0 评论 -
折半插入排序
#include<iostream> using namespace std; void BInsertSort(int arr[], int n){ int i,j,low,height,mid; for(i=2;i<=n;i++){ if(arr[i]<arr[i-1]){ arr[0] = arr[i]; low = 1,height = i-1; while(low<原创 2021-12-25 16:03:40 · 334 阅读 · 0 评论