C言语次序查找算法及代码

次序査找是一种复杂的査找算法,其完成办法是从序列的肇端元素开端,逐一将序列中的元素与所要查找的元素停止比拟,假如序列中有元素与所要查找的元素相等,那么査找胜利,假如査找到序列的最初一个元素都不存在一个元素与所要査找的元素值相等,那么标明査找掉败。接下来经过一段代码来理解次序査找的详细运用。

			#include <stdio.h> #include <stdlib.h> #include <memory.h> int ordersearch(int a[], int n, int des){ int i; for(i=0; i<n; i++) if(des==a[i]) return 1; return 0; } int main(){ int i, val; int a[8] = {32,12,56,78,76,45,43,98}; int ret; for(i=0; i<8; i++) printf("%d\t", a[i]); printf("\n请输出所要查找的元素:"); while(1){ scanf("%d", &val); fflush(stdin); ret = ordersearch(a, 8, val); if(1 == ret) printf ("查找胜利!"); else printf ("查找掉败!"); printf("\n请输出所要查找的元素:"); } return 0; }

运转后果:

32    12    56    78    76    45    43    98
请输入所要查找的元素:78
查找胜利!
请输入所要查找的元素:5
查找掉败!

剖析下面的运转后果,起首输出所要查找的元素为78,该数在所要查找的序列中是存在的,所以打印输入“查找胜利! ”。接下来输出的数值5在所要查找的序列中并不存在,因而打印输入“查找掉败!”。

时间: 2024-10-14 09:57:28

C言语次序查找算法及代码的相关文章

C言语选择排序算法及代码

选择排序是排序算法的一种,这里以从小到大排序为例停止解说. 根本思惟及举例阐明 选择排序(从小到大)的根本思惟是,起首,选出最小的数,放在第一个地位:然后,选出第二小的数,放在第二个地位:以此类推,直到一切的数从小到大排序.在完成上,我们平日是先肯定第i小的数地点的地位,然后,将其与第i个数停止交流.下面,以对 3  2  4  1 停止选择排序阐明排序进程,运用min_index 记载以后最小的数地点的地位.第1轮 排序进程 (寻觅第1小的数地点的地位)3  2  4  1(最后, min_i

C言语疾速排序算法及代码

疾速排序是对冒泡法排序的一种改良.疾速排序算法 的根本思惟是:将所要停止排序的数分为阁下两个局部,个中一局部的一切数据都比别的一 局部的数据小,然后将所分得的两局部数据停止异样的划分,反复履行以上的划分操作,直 到一切要停止排序的数据变为有序为止.能够仅依据根本思惟对疾速排序的看法并不深,接下来以对n个无序数列A[0], A[1]-, A[n-1]采取疾速排序办法停止升序陈列为例停止解说.(1)界说两个变量low和high,将low.high辨别设置为要停止排序的序列的肇端元素和最初一个元素的下

二分查找算法(递归与非递归两种方式)

首先说说二分查找法. 二分查找法是对一组有序的数字中进行查找,传递相应的数据,进行比较查找到与原数据相同的数据,查找到了返回1,失败返回对应的数组下标. 采用非递归方式完成二分查找法.java代码如下所示. /* * 非递归二分查找算法 * 参数:整型数组,需要比较的数. */ public static int binarySearch(Integer[]srcArray,int des){ //第一个位置. int low=0; //最高位置.数组长度-1,因为下标是从0开始的. int h

Knowledge_SPA——精研查找算法

首先保证这一篇分析查找算法的文章,气质与大部分搜索引擎搜索到的文章不同,主要体现在代码上面,会更加高级,会结合到很多之前研究过的内容,例如设计模式,泛型等.这也与我的上一篇面向程序员编程--精研排序算法不尽相同. 关键字:二分查找树,红黑树,散列表,哈希,索引,泛型,API设计,日志设计,测试设计,重构 查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算. 当今世纪,IT界最重要的词就是"数据!数据!数据!",高效检索这些信息的能力是处理他们的重要前提.数

七大查找算法(附C语言代码实现)

来自:Poll的笔记 - 博客园 链接:http://www.cnblogs.com/maybe2030/p/4715035.html 阅读目录 1.顺序查找 2.二分查找 3.插值查找 4.斐波那契查找 5.树表查找 6.分块查找 7.哈希查找 查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找.本文简单概括性的介绍了常见的七种查找算法,说是七种,其实二分查找.插值查找以及斐波那契查找都可以归为一类--插值查找.插值查找和斐波那契查找是

排序与查找简单算法 java代码实现

最近整理了下以前的资料.有的算法没有实现,嘿嘿,以后再补吧! /** * 排序算法的分类如下:      * 1.插入排序(直接插入排序.折半插入排序.希尔排序):      * 2.交换排序(冒泡泡排序.快速排序):      * 3.选择排序(直接选择排序.堆排序):      * 4.归并排序:      *  关于排序方法的选择:      * (1)若n较小(如n≤50),可采用直接插入或直接选择排序.      *  当记录规模较小时,直接插入排序较好:否则因为直接选择移动的记录数少

查找算法总结

静态查找结构主要有两种:顺序查找.折半查找 一.顺序查找:这个就不用说了,一个一个的差吧,很差劲的算法了,时间复杂度是O(n) public int shunXuSearch( int[] b, int c) { for ( int i = 0; i < b. length; i++) { if (b[i] == c) { System. out.println( "查到了您想要的结果" + c + ",位置在:" + i); return i; } } Sy

算法_001_二分查找算法

 二分查找算法是在有序数组中用到的较为频繁的一种算法,在未接触二分查找算法时,最通用的一种做法是,对数组进行遍历,跟每个元素进行比较,其时间为O(n).但二分查找算法则更优,因为其查找时间为O(lgn),譬如数组{1, 2, 3, 4, 5, 6, 7, 8, 9},查找元素6,用二分查找的算法执行的话,其顺序为:     1.第一步查找中间元素,即5,由于5<6,则6必然在5之后的数组元素中,那么就在{6, 7, 8, 9}中查找,    2.寻找{6, 7, 8, 9}的中位数,为7,7>

Java学习之二分查找算法

好久没写算法了.只记得递归方法..结果测试下爆栈了. 思路就是取范围的中间点,判断是不是要找的值,是就输出,不是就与范围的两个临界值比较大小,不断更新临界值直到找到为止,给定的集合一定是有序的. 自己写的代码: 1 package com.gh; 2 3 import java.util.Arrays; 4 /** 5 * 二分查找算法实现 6 * @author ganhang 7 * 8 */ 9 public class Search { 10 public static void mai