c、c++
c语言学习
fighting&code
big data
展开
-
c++ STL容器常用法
vector 变长数组,倍增思想size()empty()clear() 清空front()/back() 最前一个数 最后一个数push_back() /pop_back()begin() / end()支持比较运算pair<int,int>pair<int,string> p; 结构体 p.first 第一个元素 p.second 第二个元素 支持比较远算,以first为第一关键字,以sceond为第二原创 2021-04-15 19:39:59 · 100 阅读 · 1 评论 -
算法设计与分析学习笔记(6)——排列树与子集树
常见的解空间结构1.子集树概述:子集树是使用回溯法解题时经常遇到的一种典型的解空间树。当所给的问题是从n个元素组成的集合S中找出满足某种性质的一个子集时,相应的解空间树称为子集树。此类问题解的形式为n元组(x1,x2…xn),分量xi(1,2,…n)表示第i个元素是否在要找的子集中。xi的取值为0或者1,xi=0 表示第i个元素不在要找的子集中;xi=1 表示第i个元素在要找的子集中。树的根结点:初始状态中间结点:某种情况下的中间状态叶子结点:结束状态分支:从一个状态过渡到另一个状态的行为从原创 2021-04-14 11:34:50 · 6905 阅读 · 1 评论 -
算法设计与分析笔记(5)---排列数字
题目要求:给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。输出所有的排列方法。题目分析:利用递归深搜,一种解空间是基于排列树,一种是直接进行dfs暴力。.-----------还有c++的STL容器有一个函数 next_permutation:求下一个排列组合a.函数模板:next_permutation(arr, arr+size);b.参数说明: arr: 数组名 size:数组元素个数c.函数功能: 返回值为bool类型,当当前序列不存在下一个排列时,函数返原创 2021-04-13 13:56:13 · 200 阅读 · 1 评论 -
算法设计与分析学习笔记(2)n皇后问题-dfs回溯
。。。原创 2021-04-11 12:52:50 · 258 阅读 · 0 评论 -
找最小值
一维数组查找最小值#include<iostream>#include<algorithm>#include<stdio.h>using namespace std;const int N=35;int a[N];int main(){ int n; cin>>n; int t=10000; for(int i=0;i<n;i++) { cin>>a[i];原创 2021-01-20 04:22:05 · 421 阅读 · 0 评论 -
首字母变大写
首字母变大写#include<stdio.h>#include<math.h>#include<iostream>#include<algorithm>#include<string.h>const int N=100010;using namespace std;int main(){ char str[110]; while(gets(str)) { str[0]=str[0]-32;原创 2020-12-01 20:22:48 · 87 阅读 · 0 评论 -
c语言结构体
结构体简单定义//定义简单结构体#include<stdio.h>#include<iostream>#include<algorithm>using namespace std;struct student//定义结构体{ char name[10];//定义名字 int grade;//定义学生成绩 int age;//定义学生年龄};int main(){ student s;//表示学生结构体 变量s原创 2020-11-20 23:05:14 · 108 阅读 · 0 评论 -
打印九九乘法表
C语言打印 九九乘法表:#include <iostream>#include<algorithm>#include<string.h>using namespace std;int main(){ int i,j; for(i=1;i<10;i++) { for(j=1;j<=i;j++) { printf("%d*%d=%d ",j,i,i*j); }原创 2020-11-13 00:39:53 · 118 阅读 · 0 评论 -
C语言打印奇数实心菱形
#include <iostream>#include<algorithm>#include<math.h>using namespace std;int main(){ int n; cin>>n; int i,j,k; int m=n/2+1; for(i=1;i<m;i++)//上面部分 { for(j=i;j<m;j++) { printf(" ");//答应空格 } for(k=1;k&l原创 2020-10-29 02:03:10 · 327 阅读 · 0 评论 -
一维数组最大下标与值
给定一个整数n,表示数组的个数,依次读数再进行操作。(数组从0开始读起)#include <iostream>#include<stdio.h>#include<algorithm>using namespace std;int main(){ int a[10]; int n; cin>>n; int maxx=0; for(int i=0; i<n; i++) { s原创 2020-10-21 02:04:09 · 917 阅读 · 0 评论 -
c++第一个程序
第一个程序:#include <iostream>using namespace std;int main(){ cout << "Hello world!" << endl; return 0;}原创 2020-10-16 00:41:46 · 77 阅读 · 0 评论