c++
不要绝望总会慢慢变强
当你觉得整个世界都放弃了你,还有那几行代码值得你珍重!
展开
-
矩阵连乘问题
动态规划例1 矩阵连乘问题引入例如矩阵连乘积A1A2A3A4A_1A_2A_3A_4A1A2A3A4可以有下列5中完全加括号的方式:(A1(A2(A3A4)),(A1(A2A3)A4),((A1A2)(A3A4)),((A1(A2A3))A4),(((A1A2)A3)A4)(A_1(A_2(A_3A_4)), (A_1(A_2A_3)A_4) , ((A_1A_2)(A_3A_4)) , ((A_1(A_2A_3))A_4) , (((A_1A_2)A_3)A_4)(A1(A原创 2020-09-26 18:04:26 · 1254 阅读 · 0 评论 -
C语言实现行列式计算(展开法)
如下图所示行列式:程序如下:#include<stdio.h>#include<math.h> #include<fstream>#include<iostream>using namespace std;double get_num(double ori[][5],int m)//计算m行 行列式的值{for(int i=0;i<m;i++) { for(int j=0原创 2020-06-28 16:19:19 · 5904 阅读 · 1 评论 -
C和C++操作文件的方法
1.C语言#include<stdio.h>#include<math.h> int main(){ float y[61],o[61]; FILE *fp; fp=fopen("2.txt","w"); for(i = 0;i<=35;i++) { fprintf(fp,"%f ",o[i]); fprintf(fp,"%f\n",i*0.2); } fclose(fp)原创 2020-06-27 15:37:56 · 160 阅读 · 0 评论 -
希尔排序
思想: 又叫缩小增量排序,先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成p个组。所有距离为d1的倍数的记录放在同一个组中,在各组内进行直接插入排序,然后再缩小增量再排序。最好情况:O(n1.3)最坏情况:O(n2)空间复杂度:O(1)稳定性:非稳定排序仅适用于顺序表,链表void shellsort(int *a, int n)//该函数的每一个子序列都用二...原创 2018-06-09 21:20:46 · 101 阅读 · 0 评论 -
1002
#include <iostream>using namespace std;int main() { int m = 0,n=0; float a[1001] = { 0 }, b[1001] = {0}; float result[1001] = { 0 }; int i=0,j=0; int status = 0; cin >> m...原创 2018-06-09 22:30:04 · 251 阅读 · 0 评论 -
poj1163
#include<iostream>using namespace std;int main(){ int m = 1, n = 1; int tan[101][101] = {0}; int flag=0; cin >> m; for (int i = 1; i <= m; i++) { for (int j = 1...原创 2018-06-10 20:33:21 · 119 阅读 · 0 评论 -
【C++】fill函数,fill与memset函数的区别
本文转自柳婼博客:https://blog.csdn.net/liuchuo/article/details/52296646【C++】fill函数,fill与memset函数的区别 memset函数 按照字节填充某字符 在头文件<cstring>里面 fill函数 按照单元赋值,将一个区间的元素都赋同一个值 在头文件<algorithm>...转载 2018-06-19 23:34:38 · 204 阅读 · 2 评论 -
dev C++ 不能调试的解决方法(转)
DevC++4.9.9.2中,按 F8 开始调试。提示信息为:工程没有调试信息,您想打开工程的调试选项并重新生成吗?选择是后,再按F8,居然崩溃退出了。什么原因呢? 按照帮助,Frequently Asked Questions (FAQ)中提示 How do i enable Debugging mode ? Go to Compiler Options and...转载 2018-06-29 08:14:00 · 4004 阅读 · 3 评论 -
string 类
string类1.头文件 #include<string>2.初始化: string s1("Hello"); string s1="March"; stirng s1=(8,'x');**可将字符赋值给string对象3.常用函数长度:s1.length() 输入输出:getline...原创 2018-07-06 21:30:10 · 261 阅读 · 0 评论 -
windows32程序开发第一课输入输出(小计算器模板)
1.输出首先注意win32程序的常规开头,MessageBox()作为输出(类似于printf和cout,该函数有四个参数,第一个是其父窗口,第二个第三是字符串类型,具体如下图对应:第四个参数是每一个框下边的是,否,取消按钮,和图标等。#include<windows.h>//const char *==LPCSTR//char*=LPSTRint WINAPI...原创 2018-09-21 23:16:44 · 397 阅读 · 0 评论 -
STL知识点
1.vectorvector<int> p;p.push_back(10); //从后边加入元素 capacity()和size()的区别:size()是vector中实际由多少元素,而capacity()是当前容量。vector是动态开辟空间的,成指数开辟,如:for(int i=0;i<100000;i++)p.push_back(i...原创 2018-12-30 15:39:10 · 102 阅读 · 0 评论 -
二分插入排序
#include <iostream>#include<string>using namespace std;int main() { int a[10] = {19,8,10,34,12,45,90,44,5,22}; int temp; int high, low, mid; int n = sizeof(a)/sizeof(in...原创 2018-06-09 13:40:56 · 998 阅读 · 0 评论 -
1001
#include<iostream>using namespace std;int main(){ int a, b; int k; int n[10] = {-1}; int i = 1; int flag = 0; int flag1 = 0; cin >> a >> b; int c = a + b; ...原创 2018-06-09 12:57:04 · 194 阅读 · 0 评论 -
百练4115(鸣人和佐助)
#include<iostream>#include<algorithm>#include<queue>#include<cstdlib>#include<cstring>using namespace std;int M, N, T;int flag = 0;int aa, bb;char migong[210][2...原创 2018-06-23 23:38:02 · 333 阅读 · 0 评论 -
括号匹配(南阳oj)
#include<iostream>#include<string>#include<cmath>using namespace std;int main(){ char stack[10000]; char k[10000]; int num = -1; int m = 0; int n = -1; ...原创 2018-06-04 21:19:35 · 383 阅读 · 0 评论 -
二路归并排序
------------二路归并排序思想:分治,将每一个无序数组分为两个数组,分别把这两个数组排序然后再合起来就是一个有序数组,运用了递归思想最好情况:O(nlgn)最坏情况:O(nlgn)(选出的a[0]为最大或者最小元素)平均:O(nlgn)空间复杂度:O(n)稳定性:稳定排序仅适用于顺序表,可用作外部排序中#include<iostream>...原创 2018-06-12 16:09:51 · 253 阅读 · 0 评论 -
快速排序
------------快速排序思想:快排的思想是找一个数(通常找第一个a[0]),将数组分为比a[0]大的部分和a[0]小的部分,然后将前边部分和后边部分看成新数组,分别递归。最好情况:O(log2n)最坏情况:O(n2)(选出的a[0]为最大或者最小元素)平均:O(log2n)稳定性:非稳定排序仅适用于顺序表,不适用于链表代码:#include<iost...原创 2018-06-12 16:46:32 · 186 阅读 · 0 评论 -
stl之sort
标准模板库#include<algorithm>1.基本类型表达式排序 sort(n1,n2)//不包括n2int a={15,4,3,9,8,,4,23};sort(a,a+3); //对0,1,2排序2.(基本类型) //从大到小排序3.用自定义的排序规则排序sort(数组名+n1,数组名+n2,排序规则结构名())struct 结构名{ bool operat...原创 2018-06-12 22:33:04 · 183 阅读 · 0 评论 -
map and set
标准模板库#include<algorithm>查找:1.binary_search(a+n1,a+n2,值)//能找到返回ture,否则false//等于:a<b为假,a>b为假2.binary_search(数组名+n1,数组名+n2,值,排序规则结构名())//等于:a必须在b前面不对,b在a前面也不对//没有排序规则默认从小到大排3.在对元素类型为T的从小到大排好序...原创 2018-06-13 00:14:12 · 105 阅读 · 0 评论 -
STL之vector
本文转自清水汪汪博客:https://www.cnblogs.com/zhonghuasong/p/5975979.html柠檬不加糖的博客:https://blog.csdn.net/u013575812/article/details/51171135/介绍vector是表示可变大小数组的序列容器。就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector...转载 2018-06-13 10:27:29 · 109 阅读 · 0 评论 -
poj1724(dfs)
#include<iostream>#include<vector>#include<cstring>#include<algorithm>using namespace std;struct road{ int d; int L; int t;};vector< vector<road> ...原创 2018-06-22 00:05:04 · 304 阅读 · 0 评论 -
poj3278
#include<iostream>#include<cstdlib>#include<queue>#include<cstring>using namespace std;int v, e;int visited[100010];struct node{ int x; int mintime; node(i...原创 2018-06-22 21:52:36 · 132 阅读 · 0 评论 -
C++ 中queue
C++ 中queue(队列)的用法#include <iostream>#include <queue>#include <assert.h>/*调用的时候要有头文件: #include<stdlib.h> 或#include<cstdlib> +#include<queue> #include<queue&转载 2018-06-22 22:29:30 · 288 阅读 · 0 评论 -
汉诺塔问题
汉诺塔问题是个经典的递归,我把我的观点分享一下我们的目标是把a上的n个盘子移动到c,假设这里有一个move(n,a,b,c)函数能实现将n个盘子从a移动到c那我们只需要三步1.调用这个函数将上边n-1个盘子移动到b,即move(n-1,a,c,b)2.调用这个函数将第n个圆盘从a移动到c即move(1,a,b,c)3.调用这个函数将b上的n-1个圆盘从b移动到c即move(n-1,b,a,c)即可...原创 2018-06-01 16:20:26 · 140 阅读 · 0 评论 -
poj1222
#include<iostream>#include<cstring>#include<memory>#include<string>using namespace std;char orI[5];char lights[5];char result[5];int getbit(char c, int i){ return (c >>...转载 2018-06-01 21:07:26 · 229 阅读 · 0 评论 -
c++学习笔记1(待续)
C++学习笔记:1.const int a=1;定义常变量,定义和赋值同时。只读变量-储存单元值不变。const修饰对象时,该对象只能调用该类里的const成员函数。常成员函数可以访问常对象的数据成员,但是不能够修改。如果非要修改,加mutable.2.c++所有运算会float数据按double数据处理3.标准输入输出控制符:page54,加头文件#include<iomanip&g...原创 2018-05-05 21:03:51 · 117 阅读 · 0 评论