[100],*p; cout<<”please input a string:”; cin>>str; p=str; for(int i =0;*p!=”\0”;p++, i ++); cout<< i <<endl; retum 0; } 运行这个程序时,若输入字符串为 abcdefg abcd 则输出结果是 A)7 B)12 C)13 D)100 (35)有如下程序:: #include<iostream> using namespace std: ...
size()函数返回vector的实际长度(包含的元素个数),empty()函数返回一个bool值,表明vector是否为空.二者的时间复杂度都为O(1). 所有的STL容器都支持这两个方法,还以也相同,之后我们就不再重复. clear() clear()函数把vector清空 需要注意了,基本都是有clear()函数的,除了stack,queue,priority_queue这3个函数是...
a='A'+3;to_string(a);或者char('A'+3)+""就直接转化为string string(char) 转int char转int atoi string s="12";inta=atoi(s.c_str()); string 转int stoi inta=stoi(string a); 算法 sort c++排序函数,在std下,时间复杂度nlogn 第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下...
//头文件#include map<int,string> ID_Name; // 使用{}赋值是从c++11开始的,因此编译器版本过低时会报错,如visual studio2012map<int,string> ID_Name = { {2015,'Jim'}, {2016,'Tom'}, {2017,'Bob'} }; 3.4.3 迭代器 共有八个获取迭代器的函数:* begin, end, rbegin,rend* 以及对应的 * c...
#include<stdio.h> #include<string.h> #define M 3 #define N 4 /** 函数:fun() 功能:统计一行字符串单词的个数,作为函数值返回 一行字符串在主函数中输入,规定所有单词都是由小写字母组成,单词之间由若干空格隔开,一行的开始没有空格 **/ int fun(char *s) { int cnt = 0; // 单词个数 int ...
5、实现string类的构造、析构和赋值函数 声明: 代码语言:javascript 复制 classString { public: String(constchar* str = NULL); String(constString& other); ~String(); String&operator=(constString&other); private: char* m_data; }; 定义: ...
查询(Find):查询两个元素是否在同一个集合中。 当然,这样的定义未免太过学术化,看完后恐怕不太能理解它具体有什么用。所以我们先来看看并查集最直接的一个应用场景:亲戚问题。 并查集的操作 1. 初始化 并查集的思想是通过标记确定该顶点所在的组。 所以对于一个n个点,m条边的图,我们需要新建一个长度为n的数组...
时间复杂度分析 二分中的迭代只会执行 O(logn) 次,因此时间复杂度是 O(logn)。 classSolution{public:intgetMissingNumber(vector<int>&nums){if(nums.empty())return0;intl=0,r=nums.size()-1;while(l<r){intmid=l+r>>1;if(nums[mid]!=mid)r=mid;//递增且仅有一个缺失 <==> 对不上号:缺失...
例如:为了避免这样的隐式转换,应该象下面这样显式声明该带单一参数的构造函数: class String { int size; char *p; //.. public: // 不要隐式转换 explicit String (int sz); String (const char *s, int size n = 0); // 隐式转换 }; ...
编译器一般不内联包含循环、递归、switch 等复杂操作的内联函数; 在类声明中定义的函数,除了虚函数的其他函数都会自动隐式地当成内联函数。 使用 inline 使用 // 声明1(加 inline,建议使用) inline int functionName(int first, int second,...);