C++程序设计第七章:一维数组和C字符串
-
1.数组基础
数组大小需要使用常量;
下标从0开始到length-1
数组初始化语句只能在一条语句里完成, -
2.数组作为函数
实参和形参都是同一个数组
函数原型中的参数名可以省略
但是和引用传递不同,她还是属于值传递,传的是该实参的起始位置,属于传递共享 -
3.防止函数修改传递参数的数组
在参数类型中,使用const int list[]
要是在某个函数内,作为参数给其他函数调用的,需保证此函数参数也是不可修改的,否则会报错 -
4.数组作为函数值返回
数组不能直接被反回,需要在参数内定义才可以
-
5.搜索数组
顺序搜索
按顺序依次比较
二分搜索
前提有序,return -low - 1; -
6.数组排序:
选择排序
-
7.C字符串
一个字符数组,以’\0’结尾,可以使用C++库中的C字符串函数来操作C字符串
-
输入
cin.getline(char array[],int size,'\n')
cin.getline(char array[], int size)
-
使用strcpy和strncpy函数赋值字符串
原理:将第二个参数原字符串复制到第一个参数的目标字符串 strncpy多一个复制字符数的参数,在第三位
-
使用strcat和strncat函数拼接字符串
后者指定了拼接字数
-
使用strcmp函数比较字符串
ASCII
-
字符串与数字之间的比较
atof函数吧一个c字符串转换成一个浮点数 itoa将整数转化为C字符串
#include <iostream>
using namespace std;
void selectionSort(double list[], int listSize) {
//遍历整个数组
for (int i = 0; i < listSize;i++) {
//将第一个元素声明为当前元素
double currentMin = list[i];
int currentMinIndex = i;
//除去顺序排好元素的遍历
for (int j = i + 1; j < listSize;j++) {
//获得最小值
if (currentMin > list[j]) {
currentMin = list[j];
currentMinIndex = j;
}
}
//交换元素,如果当前值的index和i不同的话
if (currentMinIndex != i) {
list[currentMinIndex] = list[i];
list[i] = currentMin;
}
}
}