第4章课后练习
答案均参考教材官方发布的PPT,以下是下载PPT的页面
人民邮电出版社教育社区:PHP基础案例教程(第2版)-图书-人邮教育社区
一、填空题
1、数组分为索引数组和(关联数组)。
2、使用短数组方式定义数组的语法是(数组元素使用"键=>值"的方式来表示,各个元素之间使用","分隔)。
3、现有数组$arr=array(1, 2, array(‘h’)),则count($arr, 1)的返回值是(4)。
4、将数组的指针指向最后一个元素的函数是(end())。
5、将一个数组分割成多个数组的函数是(array_chunk())。
二、判断题
1、在数组中,元素的值是唯一的。(×)
2、sort()函数在默认情况下,按照数组中元素的类型从低到高进行排序。(√)
3、使用shuffle()函数可以打乱数组元素的顺序。(√)
4、PHP中定义数组时,不需要指定数组的大小。(√)
5、explode()函数用指定的连接符将数组拼接成字符串。(×)(说反了)
三、选择题
1、下列选项中,不能用来操作数组的运算符是(D)。
A、联合“+”
B、相等“==”
C、全等“===”
D、自增“++”
2、下列函数中,可以将数组中各个元素连接成字符串的是(A)。
A、implode()
B、explode()
C、str_repeat()
D、str_pad()
3、下列函数中,可以对数组按照键名逆向排序的是(D)。
A、sort()
B、asort()
C、ksort()
D、krsort()
4、下列函数中,能够检查数组中是否存在某个值的是(B)。
A、array_search()
B、in_array()
C、array_key()
D、array_exists()
5、下列定义数组的方法错误的是(C)。
A、array(1, 2)
B、[1, 2]
C、(1, 2)
D、[‘name’=>‘zhangsan’, ‘age’=>20]
四、简答题
1、请列举常用的数组排序的方法,并简要说明每个算法的排序原理。
答:(1)冒泡排序:
冒泡排序是比较简单的排序算法。它的实现原理是,将数组元素按照从小到大或从大到小的顺序排序,不断比较数组中相邻两个数组元素的值,较小或较大的元素前移。
(2)选择排序
选择排序是一种非常直观的排序算法,它的实现原理是,从待排序的数组中选出一个最小或最大的元素与数组的第1个元素互换,接着再在剩余的数组元素中选择最小或最大的一个与数组的第2个元素互换,依次类推,直到待排序数组全部数组元素排序完成。
(3)快速排序
快速排序的实现思路是:首先选择一个基准元素,通常选择待排序数组的第1个数组元素。通过循环数组元素,将待排序的数组分成两个部分,其中一部分比基准元素小,另一部分比基准元素大,然后再利用同样的方法递归地排序划分出的两部分,直到将所有划分的数组排序完成。
(4)插入排序
插入排序是通过构建有序数组,将无序数组中的元素和有序数组中的元素进行比较,有序数组的比较顺序是从最后一个元素向第一个元素遍历,找到相应位置插入数组元素,直到完成无序数组的所有元素排序。
2、请列举5个常用的数组函数。
函数名称 | 功能描述 |
---|---|
key() | 获取当前指针指向数组元素的键 |
current() | 获取当前指针指向数组元素的值 |
next() | 将数组中的指针向后移动一位 |
prev() | 将数组中的指针向前移动一位 |
end() | 将数组的指针指向最后一个数组元素 |
reset() | 将数组的指针指向第一个数组元素 |
如有侵权请联系我删除。