C语言的循环语句
for循环结构for循环的语法结构如下for(初始化判断语句自加自减){ 语句块 }执行流程初始化语句首先执行且只执行一次判断语句被求值如果为真非零则执行循环体循环体执行后自加自减语句被执行重复步骤2-3直到判断语句为假零while循环结构while循环的语法结构while(条件表达式){ 语句块 }当条件表达式为真时循环体会重复执行。do-while循环结构do-while循环的语法结构do{ 语句块 }while(条件表达式);与while循环的区别在于do-while循环至少会执行一次循环体然后再判断条件。二分查找算法实现以下是一个完整的二分查找实现#includestdio.h int main() { int arr[] {1,2,3,4,5,6,7,8,9,10}; int left 0; int right sizeof(arr)/sizeof(arr[0]) - 1; int k 7; int mid 0; while(left right) { mid (right - left)/2 left; if(arr[mid] k) { left mid 1; } else if(arr[mid] k) { right mid - 1; } else { printf(你要找的那个数为%d, arr[mid]); break; } } return 0; }代码修正说明原代码中有一个错误mid (right - left) left;这实际上等同于mid right;正确的中间值计算应该是mid (right - left)/2 left;或者更简单的写法mid (left right)/2;二分查找算法要点数组必须是有序的时间复杂度为O(log n)每次比较都将搜索范围减半当left right时表示元素不存在
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2429305.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!