9.24总结
1.二维数组中的查找:
bool Find(
int
target, vector<vector<
int
> > array) {
size_t row = array.size();
size_t col = array[
0
].size();
bool flag =
0
;
for
(
int
i =
0
; i<row; i++)
{
for
(
int
j =
0
; j<col; j++)
{
if
(array[i][j] == target)
{
flag =
1
;
break
;
}
}
if
(flag ==
1
)
break
;
}
if
(flag ==
1
)
return
true
;
else
return
false
;
}
启发:二维数组的形式:vector<vector<int>> arr;//该形式也可以用下标来遍历元素,arr[i][j].
2.替换空格:
void
replaceSpace(
char
*str,
int
length) {
int
kongNum =
0
;
for
(
int
i =
0
; i<length; i++)
{
if
(str[i] ==
' '
)
{
++kongNum;
}
}
/*char *newStr =new char[length + 3 * kongNum];*/
for
(
int
j = length +
2
* kongNum-
1
,k=length-
1
; j>=
0
; j--,k--)
{
if
(str[k] ==
' '
)
{
str[j--] =
'0'
;
str[j--] =
'2'
;
str[j] =
'%'
;
}
else
str[j] = str[k];
}
cout << str;
}//在牛客网上编译通过。
该程序在VS2015中无法编译实现,出错在于str[j]=str[k];如果用new重新分配一个字符串,再返回一个新的字符串可行。
启发:字符串的形式:char *str="you are myj";//包含12个字符,str是指向第一个元素的指针。