`
lovesunshine
  • 浏览: 15950 次
  • 性别: Icon_minigender_1
  • 来自: 世外桃源
文章分类
社区版块
存档分类
最新评论

排序查找

阅读更多

 

(1)冒泡:

public class Sort {
    public static void swap(int[] arr,int i,int j){
        int temp = arr[i];
        arr[i]=arr[j];
        arr[j]=temp;
       
    }
    public static int[] sort(int[] ls){
        for(int i=0;i<ls.length;i++)
            for (int j = 0; j < ls.length-i-1; j++)
                if(ls[j]>ls[j+1])
                    swap(ls,j,j+1);
        return ls;
    }
   
    public static void main(String[] args){
        int[] ls = {9,20,1,12,32,10,5,8};

        int[] a = {1,2,3,6,10,18,25,38};


        int[] arr = sort(ls);
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

        System.out.println(sqSearch(ls,5));

        System.out.println(sqSearch(a,25));


    }
}

 

你也可以试试手写可以一次通过吗,我第一次就在第二个循环这里少减了1

for (int j = 0; j < ls.length-i-1; j++)

 

(2)查找

无序

    public  static int search(int array[],int key){  
        int i;  
        for(i=0;i<array.length&&key!=array[i];i++);  
        return(i<array.length?i:-1);  
    }  

 

有序折半

    public static int sqSearch(int array[],int key)  
    {  
        int low,high,mid;  
        low = 0;  
        high = array.length - 1;  
          
        while(low<=high)  
        {  
            mid = (high+low)/2;  
            if(array[mid] == key)  
                return(mid);  
            if(key > array[mid])  
                low = mid + 1;  
            else 
                high = mid - 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