c语言基础知识--基本的查找算法实现
2018-03-29 23:26
369 查看
#include <stdio.h> #include <stdlib.h> /** *作者: 朱国柱 *时间: 2018/3、/29 *内容:简单的查找算法实现 */ //顺序查找算法实现 int search01(int arr[], int e){ int i; for (i = 0; i < 5; i++) { if (e == arr[i]){ return i; } } return -1; } //二分查找算法实现(非递归) int search02(int arr[], int e){ int low = 0; int high = 4; int mid; while (low <= high) { mid = (low+high)/2; if (arr[mid] > e) { high = mid-1; } else if (arr[mid] < e) { low = mid+1; } else { return mid; } } return -1; } //二分查找算法实现(递归) int search03(int arr[], int e, int low, int high){ int mid; if (low > high) { return -1; } mid = (low+high)/2; if (arr[mid] > e ) { return search03(arr, e, low, mid-1); } else if (arr[mid] < e) { return search03(arr, e, mid+1, high); } else { return mid; } } int main(){ int arr[5] = {1, 4, 5, 2, 3}; printf("%d\n", search01(arr, 4)); printf("%d\n", search02(arr, 4)); printf("%d\n", search03(arr, 4, 0, 4)); return 0; }
相关文章推荐
- Linux Socket 摘要(二)(基于TCP的C/S基本实现,相关基础知识,非阻塞select)
- Linux-C基础知识学习:C语言作业-从键盘输入一行字符,统计其中有多少个字母, 数字,空格(用数组实现,gets)。
- Linux-C基础知识学习:C语言作业-将5个学生成绩保存在一个数组中,单独实现一个计算平均成绩的average函数, 在main函数中获取该函数返回的平均值,并打印。
- CG语言基础知识整理——基本数据类型
- Linux-C基础知识学习:C语言作业-用switch语句实现——成绩分等级,90+:优 80~89良上,70~79良,60~69及格,<60不及格
- C语言基础知识之基本数据类型相关的总结
- java在线聊天项目 实现基本聊天功能后补充的其他功能详细需求分析 及所需要掌握的Java知识基础 SWT的激活方法,swt开发包下载,及破解激活码
- 【C语言基础】C语言实现动态通讯录的基本操作
- python语言基础知识——基本数据类型详解
- C语言基础知识之(一):进制、基本数据类型、常量、变量、表达式、语句
- C语言基础知识【基本语法】
- javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(3)-- 基本数据类型的默认值
- 无线标记语言(WML)基础之基本知识
- C语言基础知识总结(1)-基本数据类型
- c语言基础--基本的排序算法实现
- 无线标记语言(WML)基础之WML基本知识
- 090819项目进展:了解emule基础知识,猜想实现的方向
- 深度学习FPGA实现基础知识15(Matlab图像处理“卷积”运算)
- 程序语言基础知识
- Java基础知识强化之多线程笔记05:Java中继承thread类 与 实现Runnable接口的区别