![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++程序设计
yuabcxiao
这个作者很懒,什么都没留下…
展开
-
反转链表实例
#include <iostream>#include<vector>#include<string>using namespace std;struct ListNode{ ListNode* next; int value; ListNode(int val) { value=val; next=nullptr; }};ListNode* FZ(ListNode* head){原创 2021-03-08 21:18:05 · 138 阅读 · 0 评论 -
01背包
#include <iostream>#include<bits/stdc++.h>using namespace std;int nNum[105];int w[105];int v[105];int f[10005];int main(){ int m,n; cin>>n>>m; for(int i=0;i<n;i++) { cin>>nNum[i]>>w[i]&原创 2020-09-17 22:42:19 · 88 阅读 · 0 评论 -
并查集 最小生成树
并查集代码:#include <iostream>#include<bits/stdc++.h>using namespace std;int f[10005];int findpa(int x){ if(f[x]!=x) { return f[x]=findpa(f[x]); } else { return x; }}int main(){ int m,n,q; int原创 2020-09-17 22:40:43 · 83 阅读 · 0 评论 -
sort和substr用法
erase 在vector中的两种用法iterator erase (iterator position);//从向量中删除单个元素(位置)iterator erase (iterator first, iterator last);//从向量中删除元素范围[first,last)。// erasing from vector#include <iostream>#include <vector>int main (){ std::vector<int>原创 2020-06-22 10:22:59 · 148 阅读 · 0 评论 -
map哈希小试牛刀
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况原创 2020-06-18 13:14:55 · 138 阅读 · 0 评论 -
C++有符号和无符号整型
首先有符号正整型和无符号整型的范围分别如下:有符号当表示正数时,最高位为符号位(符号位为0),最大的正数是 0111 1111 1111 1111 1111 1111 1111 1111 即2^31 -1 = 2147483647当表示负数时,最高位为符号位(符号位为1),最小的负数是 1000 0000 0000 0000 0000 0000 0000 0000 而在计算机中是以补码的形式存储的,C语言规定 1000 0000 0000 0000 0000 0000 0000 0000 的补码原创 2020-06-16 23:52:58 · 4436 阅读 · 0 评论 -
C++11中求数组中最大最小值
*min_element*max_element例子:三角形最小路径之和class Solution {public: int minimumTotal(vector<vector<int>>& triangle) { int m=triangle.size(); //int n=triangle[0].size(); int Min=1e9; vector<vector<int>原创 2020-06-16 08:47:49 · 670 阅读 · 0 评论 -
读入坐标文件输出坐标距离
#include<iostream>#include<fstream>#include<math.h>#include<vector>using namespace std;int dis;int main(){ ifstream infile("zuobiao.txt"); int x,y; vector<int> b; vector<int> c; while(!infile.原创 2020-06-10 20:30:43 · 223 阅读 · 0 评论 -
string与char *,char[ ]的转换和使用
/* memcmp example */#include <stdio.h>#include <string.h>#include <string>#include<iostream>using namespace std;int main (){ char buffer1[] = "DWgaOtP12df0"; //char buffer2[] = "DWGAOTP12DF0"; string buffer2="DWGAOTP12D原创 2020-06-10 14:31:55 · 168 阅读 · 0 评论 -
跳一跳
跳一跳:有n个盒子排成了一行,每个盒子上面有一个数字a[i],表示在该盒子上的人最多能向右移动a[i]个盒子(比如当前所在盒子上的数字是3,则表示可以一次向右前进1个盒子,2个盒子或者3个盒子)。从左边第一个盒子上开始体验游戏,请问最少需要移动几次能到最后一个盒子上?#include <iostream>#include <stdlib.h>#include <string.h>#include<vector>using namespace std原创 2020-06-07 10:12:16 · 548 阅读 · 0 评论 -
三维01背包问题
#include <iostream>#include <cstdio>#include <cstdlib>#include <vector>using namespace std;/** Welcome to vivo !*/int getCountOfApp(const char* input){ if(NULL == input){ return 0; } int cnt = 0; fo原创 2020-06-07 10:03:34 · 564 阅读 · 0 评论 -
深度优先代码框架及示例
在这里插入代码片原创 2020-06-06 22:01:14 · 138 阅读 · 0 评论 -
动态规划的框架
动态规划的解题步骤定义状态(其实也就是描述最优子结构)描述不同状态如何转移(一般可以求出一个状态转移方程)按一个方向(一般都是自底而上)求出该问题的解以01背包问题为例:定义状态定义状态dp[i][j]为前i件物品恰放入容量为j的背包时的最大价值;那么dp[n][v]就是这个问题的最终解;描述不同状态如何转移:在这个过程中,我们很自然想到的决策就是第i件物品放还是不放;放与不放会直接影响到dp[i][j]的值;a.放,那么dp[i][j]的状态可由dp[i-1][j-Ci] + Wi原创 2020-06-06 10:20:40 · 510 阅读 · 0 评论 -
关于while循环条件中i++问题
while(start1<len1 && start2<len2 && s1[start1]==s2[start2]) { start1++; start2++; sum++; }与 while(start1<len1 && start2<len2 && s1[start1++]==s2[start2++]) { sum++; }效果不同,前者每次做while判断s.原创 2020-06-05 10:01:00 · 2524 阅读 · 1 评论 -
C++11 auto的用法
auto表示挨个遍历元素#include <iostream>#include<vector>#include<map>using namespace std;int main(){ int array[] = {1, 2, 3, 4, 5}; for(auto e : array) cout << e << " "; cout<<endl; string str = "hel原创 2020-06-03 23:38:17 · 286 阅读 · 0 评论 -
利用set容器去重
#include <stdio.h>#include <vector>#include <set>#include<iostream>using namespace std;int main(){ vector<int> v; for (int i = 0; i < 10; i++){ v.push_back(i); v.push_bac原创 2020-06-03 21:52:59 · 226 阅读 · 0 评论 -
C++添加include头文件
visual studio/codeblocks附加include文件夹- codeblocksSettings->Compiler->Global compiler settings->Search directories->Compiler->Add->选择路径->点击OK。Settings->Compiler- visual studio打开xx项目,点击工具栏项目点击xx属性选择文件...原创 2020-05-27 22:53:44 · 1902 阅读 · 0 评论 -
C++类成员函数的访问权限
C++类成员函数的访问权限类成员函数对main函数变量的访问权限类之间变量的重复定义类成员函数对main函数变量的访问权限main函数本质也是函数,类成员函数只能访问全局变量和类中的变量,不能访问main函数里面的变量。类之间变量的重复定义不同的类中变量是不相通的,所以不同类内可以定义相同变量名的变量。...原创 2019-09-24 20:31:41 · 1543 阅读 · 0 评论 -
指针数组实现字符串排序
#include <stdio.h>#include<string.h>#include<iostream>using namespace std;void sort(char *line[],int n);void print(char *line[],int n);int main(){ int n,i; cin>>n; ch...原创 2019-05-05 23:11:23 · 2085 阅读 · 1 评论 -
字符数组,字符指针,指针数组(字符串)的比较与使用
文章目录字符数组与字符指针字符数组字符指针指针数组(字符串)字符数组与字符指针在C语言中,可以用两种方法表示和存放字符串:(1)用字符数组存放一个字符串char str[]="I am happy";(2)用字符指针指向一个字符串 char *str="I am happy";字符数组#include<iostream>using namespace std;...原创 2019-04-27 16:29:18 · 9604 阅读 · 1 评论 -
函数指针和指针函数的区别及使用
文章目录指针函数函数指针指针函数指针函数本质是一个函数,返回值是某一类型指针写法如下:int* fun(int x,int y);int * fun(int x,int y);int *fun(int x,int y);例子如下:#include<iostream>using namespace std;char * D(char s[]){ return s...原创 2019-04-27 10:43:12 · 3291 阅读 · 1 评论 -
整形数组与字符数组输出方式比较
#include <iostream>using namespace std;#include<string.h>int main(){ char s[]="csanvknd"; char *q; q=s; int a[4]={1,2,3,4}; int *p; p=a; printf("%d\n",a);//首地址&a[0]的十进制表...原创 2019-04-15 09:39:50 · 1756 阅读 · 1 评论