`
dbzhuan
  • 浏览: 21123 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
最近访客 更多访客>>
社区版块
存档分类
最新评论

排序查找

J# 
阅读更多

对一个数组进行一个数据的查找,首先进行一个排序,然后再进行折半查找!

 

 /**
   * 直接插入排序
   * @param data
   */
  public static void   insertSort(int [] data)
  {

  //i为第几趟排序,第一趟初始化数据(1),对顺序表Data中的记录Data[1...n]按递增序进行插入排序
   for(int i =2 ; i< data.length ; i++)
   {
    int tempdata = 0 ;
    if(data[i] < data[i-1])
    {
     tempdata = data[i];
     data[i] = data[i-1];
    //从右向左在有序区 Data[1..i-1]中查找Data[i]的插入位置
     for(int j =i-2; j>=0&&tempdata<data[j] ; j--)
     {
     // 向后移位
      data[j+1] = data[j];
      // 在正确的位置插入正确的数据
      data[j]= tempdata ;
     }
    
    }
   }
  }

 

 

 

/**
  * 折半查询
  * @param a
  * @param b
  * @return
  */
 public static int find1(int[] a, int b) {

  int low = 1;
  int high = a.length;
  //只有当low的值小于等于high时,才需要进行查找
  while (low <= high)
  {
   //middle为长度
   int middle = (low + high) / 2;

   //在左边继续查找
   if (b < a[middle - 1])
   {
    high = middle - 1;

    //find(a,b);

   }
   //在右边查找
   else if (b > a[middle - 1])
   {
    low = middle + 1;
    // find(a,b);
   }
   // 找到了
   else if (b == a[middle - 1])
   {
    System.out.println(middle);
    return middle;
   }

  }
  //没找到
  System.out.println(-1);
  return -1;

 }

分析:待续

 

分享到:
评论

相关推荐

    C语言排序查找源代码

    这里,我们围绕“C语言排序查找源代码”这个主题进行深入探讨。 首先,让我们逐一分析这些文件名所代表的算法: 1. **快速排序.c**:快速排序是一种基于分治思想的高效排序算法,由C.A.R. Hoare在1960年提出。它的...

    多种排序查找算法java实现

    这个压缩包文件“多种排序查找算法java实现”显然包含了用Java语言编写的多种经典排序和查找算法的源代码。下面,我们将详细讨论这些算法及其在实际应用中的价值。 首先,我们来看排序算法: 1. **选择排序**:这...

    c程序 排序 查找

    本压缩包文件包含的“c程序 排序 查找”聚焦于C语言中两个核心概念:排序和查找,这些都是数据处理和分析的基础。下面将详细阐述这两个知识点及其在实际中的应用。 首先,我们来探讨“排序”。排序是指将一组数据...

    常用排序查找算法详解

    下面我们将深入探讨这些常用排序查找算法。 首先,我们来看看排序算法。排序是一系列将一组数据按照特定顺序排列的过程。这里提及的"【排序结构1】插入排序"是一种简单直观的算法,它通过构建有序序列,对于未排序...

    基于二叉排序树的排序查找应用C源码

    本文将深入探讨基于二叉排序树的排序查找应用,以及相关的C语言源码实现。 首先,我们来看“冒泡排序”。这是一种简单的排序算法,通过不断交换相邻的未正确排序的元素来逐步达到排序的目的。其基本思想是重复地...

    数据结构——排序查找等实验

    这个压缩包文件“数据结构——排序查找等实验”显然包含了一系列与数据结构相关的编程实验,涵盖了排序算法和查找技术,这对于学习和理解这些概念至关重要。 首先,让我们逐一解析标签所提及的关键知识点: 1. **...

    排序查找.rar

    以上就是关于"排序查找"这一主题的主要内容。在C语言中实现这些算法,不仅要求对C语言的语法有深入理解,还需要掌握数据结构和算法的基本原理。通过实践这些算法,可以提升编程能力,同时也能更好地理解和优化程序的...

    数据结构排序查找常用算法实现.zip

    本资源"数据结构排序查找常用算法实现.zip"提供了一系列常用排序和查找算法的实现,帮助开发者深入理解并掌握这些核心概念。以下是这些算法的详细说明: 1. 冒泡排序(Bubble Sort): 冒泡排序是一种简单的交换...

    链表树图排序查找

    在这个主题中,"链表树图排序查找"涵盖了三个核心概念:链表、树和图,以及排序和查找算法。让我们深入探讨这些知识点。 首先,链表是一种线性数据结构,不同于数组,它的元素不需要连续的内存空间。链表由一系列...

    排序查找的基本运算

    在IT领域,排序和查找是两个非常基础且重要的概念,它们是计算机科学中解决问题的核心工具。本文将深入探讨标题和描述中提及的六种基本运算:直接插入排序、冒泡排序、直接选择排序、堆排序、希尔排序以及二分查找,...

    使用改进的快速排序查找多目标帕累托前沿(matlab)

    使用改进的快速排序查找多目标帕累托前沿 此函数返回给定多目标解空间的帕累托最优设计集的索引 此函数将索引返回到对应于帕累托最优设计集的给定矩阵。该函数的底层算法基于快速排序,并且对于具有有利的领先系数的...

    C语言数据结构和排序查找算法程序

    自己整理的用C语言写的数据结构和排序查找算法。数据结构包括:栈,队列,两个队列实现一个栈,两个栈实现一个队列,二叉树的创建,添加,平衡二叉树天界旋转等,红黑树,创建,添加节点,删除节点,调整。算法包括...

    计算机程序设计技巧之排序查找

    ### 计算机程序设计技巧之排序查找 #### 数据结构与算法基础 计算机科学的核心之一是数据结构与算法。良好的数据结构与高效的算法是解决复杂问题的关键。在《计算机程序设计技巧》第三卷《排序和查找》这本书中,...

    链表创建排序查找删除

    c++实现链表创建排序查找删除所有单链表功能

    数据结构所有排序查找带图详细解释.7z

    在本资源中,"数据结构所有排序查找带图详细解释.7z" 提供了关于排序和查找算法的详细讲解,配以图表和注释,非常适合初学者学习。下面我们将深入探讨这些主题。 首先,我们来看排序。排序是指将一组无序的数据按照...

    排序查找总结

    本文将深入探讨这两个主题,并结合"排序查找总结"这一资料,为读者提供一个全面的理解。 首先,我们来谈谈排序。排序是将一组无序的数据按照特定规则(如升序或降序)重新排列的过程。常见的排序算法有: 1. 冒泡...

    排序查找搜索算法设计

    在IT领域,排序、查找和搜索算法是计算机科学的基础,对于优化程序性能至关重要。这些算法在数据处理、数据库系统、机器学习等多个方面都有广泛应用。以下将详细解释标题和描述中提及的一些经典算法。 1. **排序...

    linux环境下排序查找C源码,包括makefile

    在Linux环境下进行C语言编程时,排序和查找是常见的操作,尤其在处理大量数据时更为重要。本资源提供了相关的C源码以及一个`makefile`,帮助开发者更高效地管理和编译项目。以下是对这些知识点的详细解释: 1. **...

    排序查找算法

    ### 排序查找算法 #### 一、数组常用排序算法 在计算机科学中,排序算法是一种能将一串数据按照特定的顺序进行排列的算法。排序是计算机程序设计中的一项基本任务,在数据处理中有着广泛的应用。下面我们将详细...

Global site tag (gtag.js) - Google Analytics