佛山做网站需要多少钱,平面设计图片创意手绘,wordpress 批量扫描登录,python 做网站缺点数组的初始化;完全初始化int arr[5]{1,2,3,4,5]; 不完全初始化int arr[5]{1}; //其余元素全为0 错误初始化int arr[3]{1,2,3,4} //初始化元素太多数组的类型:数组算是一种自定义类型,去掉数组名留下的就是数组类型int arr[10]的数组类型为 int [10][ ] 称为下标引用操作符…数组的初始化;完全初始化 int arr[5]{1,2,3,4,5]; 不完全初始化 int arr[5]{1}; //其余元素全为0 错误初始化 int arr[3]{1,2,3,4} //初始化元素太多数组的类型:数组算是一种自定义类型,去掉数组名留下的就是数组类型int arr[10]的数组类型为int [10][ ]称为下标引用操作符二维数组:初始化是可以省略行不能省略列数组都是连续存放的变长数组:C99之后才允许变量指定数组大小,变长数组不能初始化二分查找:核心思想:对有序数组采取对半砍比大小的方式寻找指定的目标元素,相比传统遍历节省时间逻辑分析:1. 求元素下标的长度,并求出中位数2. 定位左侧最小值下标和右侧最大值下标3. 将寻找目标与中位数进行比较,中位数较大则将最大下标替换为中位数下标减一,较小则将最小下标替换为中位数加一4. 打印结果代码实现:#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { int arr[10] { 1,2,3,4,5,6,7,8,9,10 }; int search_goal 7; int flag 0; int right sizeof(arr) / sizeof(arr[0]) - 1; //最大值下标 int left 0; //最小值下标 int mid 0; //中位数下标 while (left right) { mid (right left) / 2; //重新赋值中位数 if (arr[mid] search_goal) { left mid 1; } else if (arr[mid] search_goal) { right mid - 1; } else { flag 1; break; } } if (flag) printf(找到了,下标是:%d, mid); else printf(没找到); return 0; }优化:将 mid 的计算改为mid left (right -left) / 2 防止加法溢出