零碎知识

1.C++ algorithm 常用函数

max(x,y)     min(x,y)    abs(x)x必须为整数    swap(x,y)交换x和y的值

reverse(it,it2)  将数组指针在[it,it2]之间的元素进行反转

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     int a[10] = {0,1,2,3,4,5,6,7,8,9};
 9     reverse(a+2,a+7);
10     for(int i=0;i<10;i++){
11         printf("%d ",a[i]);
12     }
13     //输出: 0 1 6 5 4 3 2 7 8 9
14     printf("\n");
15     return 0;
16 }
View Code

fill(start,end,value)  把数组中的某一段区间赋为某个相同的值

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     int a[10] = {0,1,2,3,4,5,6,7,8,9};
 9     fill(a+2,a+7,0);
10     for(int i=0;i<10;i++){
11         printf("%d ",a[i]);
12     }
13     //输出: 0 1 0 0 0 0 0 7 8 9
14     printf("\n");
15     return 0;
16 }
View Code

sort(a,a+n)   默认为递增排序,递减排序就要增加比较函数 sort(a,a+n,cmp),除数组还可对STL中的vector/deque等排序

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 using namespace std;
 5 
 6 bool cmp(int a,int b){ //要递减排序,增加比较函数
 7     return a>b;
 8 }
 9 
10 int main()
11 {
12     int a[10] = {345,2,245,23,4545,66,567,57,123,234};
13     sort(a,a+10,cmp);
14     for(int i=0;i<10;i++){
15         printf("%d ",a[i]);
16     }
17     //输出: 4545 567 345 245 234 123 66 57 23 2
18     printf("\n");
19     return 0;
20 }
View Code

 

2.C++   string

初始化    string str = "abc"  / string a1(str)

比较     == > >= < <= !=  字典规则比较,从前往后,逐位比较

   + +=  连接两个字符串   [ ] 获取特定字符

特性    length() 长度    size() 大小   find(str,index,length) 从index开始 ,长度为length 返第一次出现位置

   insert(p,str2) 在位置p插入str2   substr(start,end) 提取子串     replace(start,end) 删除    append(str2) 添加     

 

3.公式

等差数列:

  • formula
  • formula

等比数列:

  • formula
  • formula

 

posted @ 2019-04-17 11:00  北风吹沙  阅读(309)  评论(0编辑  收藏  举报