算法刷题常用

2016-08-11  本文已影响265人  杰米

字符串

#include <string.h>

unsigned int strlen(const char *);

strlen计算长度时不计\0.sizeof()计算'\0'

由于字符串以'\0'结尾,定义一个含有10个字符的字符串束腰一个11元素的一维字符数组

string str1 = “12345”;
string str2;
1.str2 = str1;
2.str2.assign(str1);
3.str2=new string(str1.c_str()).
 1. 使用vector
#include <vector>
#include <string>
 str=reverse(str2.begin(),str2.end());



 2. 自己写
void reverseStr(string &str) {
    int first = 0;
//这里可以看出vector string的size不包含\0
    int last = str.size()-1;
    
    while(first<last) {
        
       char temp = str[first] ;
        str[first] = str[last];
        str[last] = temp;
        first++;
        last--;
        
    }
}

容器

  1. 二维数组容器
vector<vector<int> > v;
for(int i=0;i<10;++i)
{
 vector temp;  ///定义一个一维的  也就是 二维的元素类型,二维可以看做 一维的一维数组。
for(int j=0;j<5;++j)
{
    temp.push_back(i*j); 
}
    v.push_back(temp);  ///将一维的压入二维中
}

或者
 vector< vector<int> > (length-1,vector<int>(length-1,0));

输入输出

int n=0;
printf("please enter the number:\n");
scanf("%d",&n);
  
int *number=new int[n];
  
for(int i=0;i<n;++i)
   scanf("%d ",&number[i]);
std::vector<double> v;
for (double d; std::cin >> d; v.push_back(d)) {}
上一篇 下一篇

猜你喜欢

热点阅读