自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 C++ 暴力匹配

class ViolenceMatch{public: int violencematch(string str1, string str2) { vector<char>s1; vector<char>s2; for (int i = 0; i < str1.size(); i++) { s1.push_back(str1[i]); } for (vector<char>::iterator it = s1.begin();.

2021-12-20 17:01:11 799

原创 C++ KMP算法

通过一个prefix数组,用来保存最长公共前后缀的长度,这样在每次回溯时,可以减少回溯的长度。text:用来匹配的字符数组pattern:要查找的字符数prefix:匹配值(默认prefix[0]=0)pattern A B A B C A B A A text A B A B A B A B C A B A A B 对于pattern来说:AB的最大

2021-12-20 16:58:02 888

原创 C++前序中序后序二叉树+遍历+删除

class HeroNode{public: HeroNode(int id, string name) { this->id = id; this->name = name; } //前序遍历 void preOrder() { cout << this->id << " " << this->name << endl; ...

2021-12-08 16:47:24 244

原创 C++ 哈希表

class Emp{public: Emp(int id, string name) { this->id = id; this->name = name; } int id; string name; Emp *next=nullptr;};class EmpLinkedList{public: EmpLinkedList(){} void add(Emp *emp) {...

2021-12-08 10:10:14 647

原创 C++斐波那契查找(黄金分割法)

//斐波那契查找(黄金分割法) ------ 有序数组vector<int> fib(){ vector<int>f; f.push_back(1); f.push_back(1); for (int i = 2; i < 20; i++) { f.push_back(f[i - 1] + f[i - 2]); } for (int i = 0; i < f.size(); i++) {...

2021-12-07 16:33:44 328

原创 C++插值查找

//插值查找 ------ 有序数组 int InsertValueSearch(vector<int>arr, int left, int right, int val){ //cout << "插值查找被调用" << endl; if (left > right||val<arr[0]||val>arr[arr.size()-1]) { return - 1; } int mid = ...

2021-12-07 15:22:28 289

原创 C++ 二分查找(递归+非递归)

//二分查找 ------ 有序数组 ------ 递归+非递归//非递归int BinarySearch_1(vector<int>arr,int val){ int left = 0; int right = arr.size() - 1; while (left < right) { int mid = (left + right) / 2; if (arr[mid] > val) {...

2021-12-07 10:27:04 626

原创 C++ 基数排序 桶排序

//基数排序 80000-0.017s//是使用空间换时间的经典算法void radixSort(int arr[],int length){ int index = 0; int **Arr2D = new int*[10]; //定义一个二维数组作为桶 for (int i = 0; i < 10; i++) { Arr2D[i] = new int[length]; } int ArrElementCount[10] ...

2021-12-06 21:43:37 83

原创 C++归并排序

//归并 O(n*log(n)) 80000-0.031s//先分后治void Merge(int arr[], int left, int mid, int right, int temp[]){ int l = left; int r = mid + 1; int t = 0; while (l <= mid && r <= right) { if (arr[l] <= arr[r]) {...

2021-12-06 21:32:08 51

原创 C++插入排序法

//插入排序 O(n2) 80000-9.869s//把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表只包含一个元素,即数组的第一个元素,无序表中有n-1个元素//无序表中取出第一个元素,把它依次与有序表中元素进行对比,插入到有序表中适当位置,成为新的有序表//----------------------------------------------------------------------------------------------------------------...

2021-12-06 21:30:56 67

原创 C++选择排序

//选择排序 O(n2) 80000-14.497s//选出arr[0]~arr[n-1]中最小值,与arr[0]交换//选出arr[1]~arr[n-1]中最小值,与arr[1]交换//选出arr[2]~arr[n - 1]中最小值,与arr[2]交换//…………void SelectSort(int arr[], int length){ for (int i = 0; i < length; i++) { int MinIndex =...

2021-12-06 21:29:32 728

原创 C++冒泡排序法

//冒泡排序 O(n2) 80000-36.03s//排n个数,一共进行n-1次排序,第一次排完序最大的数在最末尾(n-1),第二次排完序最大数在倒数第二个(n-2)…………//优化,加flag,如果某一次排序没有位置的交换,直接退出void BubbleSort(int arr[],int length){ int temp = 0; bool flag = false; for (int i = 0; i < length-1; i++) { ...

2021-12-06 21:27:57 245

原创 C++ 把int转换成string

#include<string>#include<sstream>int main(){int i;string s;ostringstream os;os<<i;s=os.str();system("pause");return 0;}

2021-12-06 21:25:56 159

原创 C++字符串分割(vector+list)

(适用于一个分隔符)vector<string> Split(string &s, string &c){ vector<string>v; int pos1, pos2; pos2 = s.find(c); pos1 = 0; while (true) { if (pos1==s.length()-1) { break; } ...

2021-11-30 10:29:51 765 1

原创 栈【链表】C++

class List{public: List(){} List(int num) { this->Data = num; } int Data; List *next;};class ListStack{public: void CreatListStack() { head->next = nullptr; } bool isEmpty() { ...

2021-11-28 15:54:17 117

原创 栈【数组】C++

class ArrayStack{public: ArrayStack(int maxsize) { this->MaxSize = maxsize; this->Stack = new int[sizeof(int)*this->MaxSize]; } bool isFull() { return this->Top == this->MaxSize - 1; } ...

2021-11-28 15:15:43 398

原创 单链表增删改查C++

class HeroNode{public: HeroNode(){} HeroNode(int number,string name,string nickname) { this->No = number; this->Name = name; this->nickName = nickname; } int No; string Name; string nickName;...

2021-11-28 10:50:34 191

原创 约瑟夫环C++

class BoyNode{public: BoyNode(int no) { this->no = no; } void SetNo(int no) { this->no = no; } int GetNo() { return this->no; } void setNext(BoyNode *Node) { next = N...

2021-11-28 10:45:45 594

翻译 模型预测控制 MPC QP Solver

模型预测控制器QP求解器将线性MPC优化问题转化为一般形式的QP问题X是解向量。H是Hessian矩阵。当预测模型和调优权重在运行时不发生变化时,这个矩阵是常数。A是一个线性约束系数矩阵。当您的预测模型在运行时不改变时,这个矩阵是常数。B和f是向量。在每个控制间隔开始时,控制器计算H、f、A和b。如果H或A是常数,控制器检索它们的预先计算值。Built-In QP Solvers模型预测控制工具箱™软件支持解决QP问题的两种内置算法。两个求解器都要求海森矩阵是正定的﹡Ac..

2021-05-20 09:24:04 4632

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除