时间:2017-2-28来源:本站原创作者:佚名
物联网技术部第五次培训总结

这次培训我们首先复习了一下数组的两种很重要的应用:排序和查找;然后我们学习了指针的用法,了解了函数传值调用与传值调用的区别;接着我们又简单学习了字符串的使用;最后了解了本周五的编程大赛初赛题的解题思路与方法。下面再给大家来回顾一下:

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]三个一维数组来使用。

附二维数组元素的







































北京什么白癜风医院好
重庆白癜风医院

转载请注明原文网址:http://www.gzdatangtv.com/bcyytx/5968.html

------分隔线----------------------------