一、值传递与引用传递(地址传递)
值传递
值传递(pass by value)是指在调用函数时将实际参数 复制 一份传递到函数中,这样在函数中如果对 参数 进行修改,将不会影响到实际参数。
作用原理:
所以y 的值改变不会影响X
引用传递(地址传递)
引用传递(pass by reference)是指在调用函数时将实际参数的地址 直接 传递到函数中,那么在函数中对 参数 所进行的修改,将影响到实际参数。
作用原理:
二、数组的排序(冒泡排序和插入排序)
冒泡排序
冒泡排序法是最基本的排序法之一,冒泡排序法的运行机制是通过循环遍历元素并调整相邻元素顺序来实现的一种简单排序方法。
以数组 {21, 99, 3, 1024, 16}升序排列为例演示冒泡排序的原理:
冒泡排序的实质是相邻两个元素比较,然后按照升序或降序调换位置。
插入排序
每循环一次都将一个待排序的元素所对应的数据按其顺序大小插入到前面已经排序的序列的合适位置,直到全部插入排序完为止,其难点在于如何在前面已经排好序的序列中找到合适的插入位置。该排序方法有很多,比如直接插入排序、二分插入排序、希尔排序等等。
先看如何解决这个问题:已知数组{1, 2, 4, 5, 3},将3插入到适当位置,使之成为一个升序排列的数组,即{1, 2, 3, 4, 5}。
插入排序的实质:将数组分为有序区和无序区,定义一个标记无序区第一个元素的定位变量,将该元素与前面的有序区内元素遍历比较,找到该元素应该插入位置,然后将应插入位置到待插入元素所在位置之间的元素后移一位,最后再将待插入元素插入到应插入的位置,有序区扩增一位,无序区减少一位,定位变量再次后移,锁定后面无序区第一位元素位置。
三、数组元素查找(二分法查找)
二分法查找:搜索数据与有序数组(比如升序)中间元素比较以确定在中间元素左边还是右边,如果在右边,则调整最小搜索索引值,然后进入下次循环;如果在左边,则调整最大搜索索引值,然后进入下次循环;如果相等则当前位置就是查找数据所在位置,停止循环。
三部分重点,好好掌握。