C++基础复习心得3

来源:互联网 发布:360网络攻防安全实验室 编辑:程序博客网 时间:2024/04/28 21:02

1 数组的应用:

  • 冒泡排序法( bubble sort)
    基本思想是通过相邻两个记录之间的比较和交换, 使关键码较小的记录逐渐从底部移向顶部(上升),关键码较大的记录逐渐从顶部移向底部(沉底),冒泡由此得名。
    这里写图片描述
    这里写图片描述

  • 选择排序法( selection sort)
    基本思想是第i趟选择排序通过n-i次关键码的比较,从n-i+1个记录中选出关键码最小的记录, 并和第i个记录进行交换。
    这里写图片描述
    这里写图片描述
    这里写图片描述

  • 顺序查找法
    基本思想是让关键字与序列中的数逐个比较,直到找出与给定关键字相同的数为止或序列结束,一般应用于无序序列查找。
    这里写图片描述

  • 二分查找法
    对于有序序列,可以采用二分查找法进行查找。
    这里写图片描述
    这里写图片描述

2 关于指针:

  • 指针除了能够提高程序的效率,更重要的作用是能使一个函数访问另一个函数的局部变量,因此指针是两个函数进行数据交换必不可少的工具。
    这里写图片描述

  • 一个指针曾经指向一个已知对象,在对象的内存空间释放后,虽然该指针仍是原来的内存地址,但指针所指已是未知对象,称为“ 迷途指针”(dangling pointer)。
    这里写图片描述

  • 指针的运算都是作用在连续存储空间上才有意义。

  • 一个指针变量可以指向只读型对象,称为指向const对象的指针,即在指针变量定义前加const限定符,其含义是不允许通过指针来
    改变所指向的const对象的值
    这里写图片描述

  • 把一个const对象的地址赋给一个非const对象的指针变量是错误的
    这里写图片描述

  • 允许把非const对象的地址赋给指向const对象的指针;不能使用指向const对象的指针修改指向对象,然而如果该指针指向的是一个
    非const对象,可用其他方法修改其所指的对象。
    这里写图片描述

  • 实际编程中,指向const的指针常用作函数的形参,以此确保传递给函数的实参对象在函数中不被修改。
    这里写图片描述

  • 一个指针变量可以是只读的,称为const指针
    这里写图片描述

  • 指向const对象的const指针
    这里写图片描述

3 一维数组与指针

  • C++程序员更偏爱使用指针来访问数组元素,这样做的好处是运行效率高、写法简洁。
    这里写图片描述

  • 用多种方法遍历一维数组元素
    这里写图片描述
    这里写图片描述
    这里写图片描述

  • 数组元素访问方法的比较
    这里写图片描述

4 指针与字符串

  • 可以利用一个字符型的指针处理字符串,其过程与通过指针访问数组元素相同。使用指针可以简化字符串的处理,是程序员处理字符串常用的编程方法。
    这里写图片描述
    这里写图片描述

  • 指针访问字符串举例:
    这里写图片描述

  • 指针可以指向数组,使得数组的访问多了一种途径,但指针并不能替代数组来存储大批量数据。
    这里写图片描述
    这里写图片描述

5 指针作为函数的参数:

  • 指针最重要的应用是作为函数参数,它使得被调函数除了返回值之外,能够将更多的运算结果返回到主调函数中。因此,指针是函数参数传递的重要工具。
    这里写图片描述

  • 通过将指针作为函数参数的方法,既可以返回多个运算结果,又避免了使用全局变量。
    计算a和b的平方和、 自然对数和、 几何平均数、 和的平方根

6 数组作为函数的参数
这里写图片描述
返回数组n个元素的平均值

  • 要想在子函数中改变主调函数中的数组元素,实参与形参的对应关系有如下4种,这4种情况作用相同:
    这里写图片描述
    这里写图片描述

  • 字符指针变量作为函数形参
    将一个字符串传递到函数中,传递的是地址,则函数形参既可以用字符数组,又可以用指针变量,两种形式完全等价。在子函数中可
    以修改字符串的内容,主调函数得到的是变化后的字符串。
    这里写图片描述
    这里写图片描述

0 0