物联网技术部第五次培训总结 这次培训我们首先复习了一下数组的两种很重要的应用:排序和查找;然后我们学习了指针的用法,了解了函数传值调用与传值调用的区别;接着我们又简单学习了字符串的使用;最后了解了本周五的编程大赛初赛题的解题思路与方法。下面再给大家来回顾一下: 1数组的排序算法在这里主要使用的是选择排序与冒泡排序这两种方法(以从小到大为例)。 1、选择排序选择排序的思路是:第i次遍历时,遍历的对象为数组第i+1~n-1个元素。然后找出第i~n-1的元素中的最小值,将它与数组第i个元素交换位置,然后进行下一次遍历。效果为第i小的元素将成为数组第i-1个元素。(注:i从0开始) 2、冒泡排序冒泡排序的思路是:第i次遍历是,遍历的对象为数组第0~n-2-i个元素。然后从第0个元素开始,与相邻的后面一位元素比较大小,如果大了,就换到后面,反之不交换。效果为第i大的元素将成为数组倒数第i个元素。(注:i从0开始) 2数组的查找算法我们C语言的课本上提供了顺序查找与二分查找两种方法,由于顺序查找的效率太低,所以我们多数使用二分法查找数组元素。 二分法查找的前提要求:数组已经完成了排序(此处默认从小到大)。 大概思路——“对折”:将查找目标与数组的中间的元素进行比较,如果目标数大了,则说明应该在当前位置之前再次进行比较,反之则在当前位置之后比较。第二次查找时,继续选取新范围的中间值,重复操作。 3指针(1)指针是什么? “百度百科:指针,是一个无符号整数(unsignedint),它是一个以当前系统寻址范围为取值范围的整数。” (2)指针变量的定义: (就是在对应类型和变量直接加一个*) int*a;double*b;char*c; 或int*a;double*b;char*c;(区别详见PPT) (3)指针的赋值和初始化(注意什么时候要加"") (4):取地址;*:取内容 (5)指针与数组 A.指针与一维数组:数组名即为一个指针,指向数组的首地址(a[0]),当某一个指针变量指向该数组后,这个指针变量就与数组名有了相同的作用和功能。 例如: inta[]={1,2,3,4,5}; int*p; p=a; 那么之后我们就可以通过a[i]或p[i]或*(a+i)或*(p+i)多种方式访问a数组的元素了。 B.指针和二维数组:可以将二维数组看成是多个一维数组 例如:intb[3][4]; 则b数组可以当做b[0],b[1],b[2]三个一维数组来使用。 附二维数组元素的北京什么白癜风医院好重庆白癜风医院
|