数据结构之线性查找和折半查找
生活随笔
收集整理的這篇文章主要介紹了
数据结构之线性查找和折半查找
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、線性查找
比如字符串 char s[] = "chenyu";
如果我們是線性查找的話,就是從字符‘c’依次到字符串結(jié)尾‘u’查找
2、折半查找
注意查找之前必須是有序的
比如整形數(shù)組 int a[10] = {1, 2, 7, 9, 10};
查找數(shù)字2
我們可以定義 首和尾巴,拿需要查找的數(shù)據(jù)和 首和尾巴下表除以2這個(gè)坐標(biāo)數(shù)據(jù)對(duì)比
如果這個(gè)查找的數(shù)字比,中間的數(shù)字小,我們就在左邊區(qū)間查找,反之,在右邊查找
依次類推
3、代碼實(shí)現(xiàn)
#include<stdio.h>int binary_serch(int a[], int num, int length); int string_index(char c); char name[] = "chenyu";int main() {printf("%d,%d\n", string_index('y'), string_index('o'));int a[5] = {1, 3, 4, 5, 7};int length = sizeof(a)/sizeof(a[0]);printf("length:%d\n", length);printf("%d,%d", binary_serch(a, 5, length), binary_serch(a, 2, length));return 0; }int string_index(char c) {int i = 0;while(name[i] != '\0') {if (c &
總結(jié)
以上是生活随笔為你收集整理的数据结构之线性查找和折半查找的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用递归实现字符数组的反转
- 下一篇: linux C语言之called obj