C语言数组和算法基础
数组和算法基础
数组
下标从0开始
长度一般用宏常量或者const常量表示
C89不能用变量定义数组大小,但是C99可以
如果不定义长度,系统会自动初始胡并确定数值
二维数组行初始化可以不写,列必须写
数组传递给函数
数组在传递给函数的时候只需传递数组名(即首地址),原理类似于指针,即可实现数组传递给函数,并且可以修改数组的值
排序算法
1.冒泡排序
将相邻的两个元素比较,若顺序不对则交换(固定后面)
循环n-1次
2.交换排序
第一个数固定,和后面所有的数比较,如果后面的数较小则交换(固定前面)
循环n-1次
3.选择排序
选择最小的数,和第一个交换
(相当于先查找,后交换)
k永远表示最小数的下标,当k不等于i的时候交换
查找算法
1.线性查找
不要求数据表是排好序的,依次查找
2.折半查找(二分法)
将数据与中间值比较,依次减半查找
须知少时凌云志,曾许人间第一流