顺序查找-1

#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

 

posted @ 2023-01-08 22:18  芯蕊霸霸  阅读(23)  评论(0)    收藏  举报