首页 > 其他分享 >数组的元素查找排序

数组的元素查找排序

时间:2023-04-13 21:55:18浏览次数:49  
标签:index arr int System value 查找 数组 排序

顺序查找

顺序查找:挨个查看

要求:对数组元素的顺序没要求

    public static void arraySearch(int value) {
        int[] arr = {4, 5, 6, 1, 9};
        //int value = 1;
        int index = -1;

        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == value) {
                index = i;
                break;
            }
        }
        if (index == -1) {
            System.out.println(value + " 未找到...");
        } else {
            System.out.println(value + " 找到了,索引是 " + index);
        }
    }

二分查找

举例:

实现步骤

 参考

    //二分查找
    public static void binarySeach(int value) {
        //二分法查找:要求此数组必须是有序的。
        int[] arr = new int[]{-99, -54, -2, 0, 2, 33, 43, 256, 999};
        boolean ifFlag = true;
        int head = 0;//首索引位置
        int end = arr.length - 1;//尾索引位置
        while (head <= end) {
            int middle = (head + end) / 2;
            if (arr[middle] == value) {
                System.out.println("找到了,索引是 " + middle);
                ifFlag = false;
                break;
            } else if (arr[middle] > value) {
                end = middle - 1;
            } else {
                head = middle + 1;
            }
        }
        if (ifFlag) {
            System.out.println("没找到指定元素。是不是出错了...");
        }
    }

标签:index,arr,int,System,value,查找,数组,排序
From: https://www.cnblogs.com/wdh01/p/17212962.html

相关文章

  • SPOJ 705 New Distinct Substrings (后缀数组)
    后缀数组模板题。由于height数组是指与排名上一个的公共前缀,所以重复的个数是height[i]个,考虑当前这个字母所构成的子串的贡献即为n-sa[i]-height[i],然后累加即可。代码如下:#include<iostream>#include<string.h>#include<math.h>#include<queue>#include<algorithm......
  • POJ 1094Sorting It All Out(拓扑排序)
    题目地址:http://poj.org/problem?id=1094这个题改了一下午。。代码越改越挫。。凑活着看吧。。#include<iostream>#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<ctype.h>#include<queue>#include<map>......
  • 力扣:153. 寻找旋转排序数组中的最小值
    已知一个长度为n的数组,预先按照升序排列,经由1到n次旋转后,得到输入数组。例如,原数组nums=[0,1,2,4,5,6,7]在变化后可能得到:若旋转4次,则可以得到[4,5,6,7,0,1,2]若旋转7次,则可以得到[0,1,2,4,5,6,7]注意,数组[a[0],a[1],a[2],...,a[n-1]]旋转一次的结果为数......
  • C++ 中的数组
    数组的声明与定义数组是一种复合类型。数组的声明形如**a[d]**其中a是数组的名字,d是数组的维度。维度说明数组中元素的个数,因此必须大于0数组中的元素个数也是属于数组类型的一部分,编译的时候应该是已知的,也就是说,维度必须是一个常量表达式unsignedcnt=42; //......
  • 16.6快速排序实战
    #include<stdio.h>#include<stdlib.h>#include<time.h>#include<string>typedefintElemType;typedefstruct{ElemType*elem;//存储元素的起始地址intTableLen;//元素个数}SSTable;voidST_Init(SSTable&ST,intlen){S......
  • django 1.8 官方文档翻译: 2-5-7 自定义查找
    自定义查找NewinDjango1.7.Django为过滤提供了大量的内建的查找(例如,exact和icontains)。这篇文档阐述了如何编写自定义查找,以及如何修改现存查找的功能。关于查找的API参考,详见查找API参考。一个简单的查找示例让我们从一个简单的自定义查找开始。我们会编写一个自定义查找ne,提供......
  • 排序算法-交换排序
    排序算法-交换排序1.冒泡排序BubbleSort1.1BubbleSort介绍冒泡排序(BubbleSort)的基本思想是:通过对待排序的序列进行从左往右(即从下标较小的元素开始),依次比较相邻元素的值,若逆序则将其顺序交换。重复执行此过程直至没有需要交换的元素,也即说明改序列完成了排序,冒泡排序会......
  • NumPy 数组学习手册:1~5
    原文:LearningNumPyArray协议:CCBY-NC-SA4.0译者:飞龙一、NumPy入门让我们开始吧。我们将在不同的操作系统上安装NumPy和相关软件,并查看一些使用NumPy的简单代码。正如“序言”所述,SciPy与NumPy密切相关,因此您会在本章中看到SciPy这个名字。在本章的最后,您将......
  • NumPy 数组学习手册:6~7
    原文:LearningNumPyArray协议:CCBY-NC-SA4.0译者:飞龙六、性能分析,调试和测试分析,调试和测试是开发过程的组成部分。您可能熟悉单元测试的概念。单元测试是程序员编写的用于测试其代码的自动测试。例如,这些测试可以单独测试函数或函数的一部分。每次测试仅测试一小部分......
  • 数组反转和扩缩容
    数据反转实现思想:数组对称位置的元素互换。publicstaticvoidarrayResever(int[]arr){for(Objecto:arr){System.out.println(o);}System.out.println("-----------------");for(inti=0;i<arr.length/2;......