首页 > 其他分享 >顺序查找-1

顺序查找-1

时间:2023-01-08 22:34:06浏览次数:29  
标签:index arr 顺序 return temp int 查找 sValue

#region 自组织查找
/// <summary>
/// 
/// </summary>
/// <param name="arr"></param>
/// <param name="sValue"></param>
/// <returns></returns>
public static int SequentialSearchWithSelfOrganizing(this int[] arr, int sValue)
{
    for (int index = 0; index < arr.Length - 1; index++)
    {
        if (arr[index] == sValue)
        {
            if (index > 0)
            {
                int temp = arr[index - 1];
                arr[index - 1] = arr[index];
                arr[index] = temp;
                arr.Show();
            }
            return index;
        }
    }
    return -1;
}
/// <summary>
/// 28原则优化
/// </summary>
/// <param name="arr"></param>
/// <param name="sValue"></param>
/// <returns></returns>
public static int SequentialSearchWithSelfOrganizing28(this int[] arr, int sValue)
{
    for (int index = 0; index < arr.Length - 1; index++)
    {
        if (arr[index] == sValue)
        {
            if (index > (arr.Length * 0.2))
            {
                int temp = arr[index - 1];
                arr[index - 1] = arr[index];
                arr[index] = temp;
                arr.Show();
            }
            return index;
        }
    }
    return -1;
}
#endregion

 

标签:index,arr,顺序,return,temp,int,查找,sValue
From: https://www.cnblogs.com/billzhjh/p/17035597.html

相关文章

  • Sed 查找某一行,并替换这行内容
    Sed中/c是替换的意思,可以用这个/c来实现查找并替换一整行的需求。比如查找iburst所在的行,并把这行内容替换成自己希望的内容。[root@ceph01~]#more/etc/chrony......
  • 前端面试题之Promise执行顺序
    执行的先后顺序:constp=newPromise(resolve=>{console.log('a')resolve()console.log('b')})p.then(()=>{console.log('c')})console.l......
  • 调整奇数偶数顺序
    【题目名称】调整奇数偶数顺序【题目内容】调整数组使奇数全部都位于偶数前面。题目:输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的......
  • SpringBoot笔记--文件配置加载顺序+整合其他框架
    内部文件配置加载顺序外部文件配置加载顺序jar包配置整合Junit若是业务管理类和测试类在同一个包下面,那么这句话,可以不加括号,只写注解名称否则,就必须指定到包......
  • C#二分查找
    输入一个数字,并在有序数列1~10中查找该数字,输出其下标#include<stdio.h>intmain(){intk=0;intleft=0,right=0,mid=0;inti=0;intarr[]={1,2,3......
  • 二分查找进阶版
    一、题目时间限制:500ms空间限制:64MB很久以前,有位同学,在学完算法课的二分后,激动的振臂高呼:“我学会二分了!”。此时,一位学长从旁边经过听到此话,决定出一道题考考他,挫挫同学的......
  • 由于i++与++i的运算顺序不同而导致的死循环
    死循环的原因:i++和++i的基本功能是相同的,都是对变量i进行自增1运算,从功能上讲相当于i=i+1;两个的区别在于: inti=1,a=0; i++先运算在赋值​,例如a=i+......
  • SQL209 查找employees表emp_no与last_name的员工信息
    SQL209查找employees表emp_no与last_name的员工信息题目有一个员工表employees,请你查找employees表所有emp_no为奇数,且last_name不为Mary的员工信息,并按照hire_date逆......
  • VBA查找、匹配函数 Find 、Match
      Range.Find方法(Excel) 表达式.Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)特别重要的......
  • 线性表的顺序表示
    顺序表的定义线性表的顺序存储又称顺序表.它是用一组地址连续的存储单元依次存储线性表中的数据元素,从而使逻辑上相邻的两个元素在物理位置上也相邻。publicclassInitL......