1.选择排序: //改进后的选择排序,减少交换的次数 public static void sortSelect(int arr[]) { //用于存放最小数的下标 int s; for (int i = 0; i < arr.length; i++) { s = i; for (int j = i + 1; j < arr.length; j++) { if (arr[s] > arr[j]) { //记录最小值的下标值 s = j; } } //如果最小数的下标值改变,则交换 if…
1.直接插入排序算法 源码: package com.DiYiZhang;/* 插入排序算法 * 如下进行的是插入,排序算法*/ public class InsertionSort { public static void insertionSort(int[] a) { int tmp; for (int i = 1; i < a.length; i++) { for (int j = i; j >0; j--) { …
UVA.10474 Where is the Marble ( 排序 二分查找 ) 题意分析 大水题一道.排序好找到第一个目标数字的位置,返回其下标即可.暴力可过,强行写了一发BS,发现错误百出.应了那句话:基础不牢,地动山摇. 记录一下自己BS的常见错误: 1.需要传入的参数是,搜索的区间[l,r]和搜索的目标值t; 2.一般被搜索的对象以全局变量的身份出现,故不需要传参进去; 3.退出循环的条件是l < r 注意这里可没有等号; 4.若t在mid左边或等于mid,要把右坐标r移动到m的位置,…
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsolePractice { class CArray { private int[] arr; //数组大小 private int upper; //下标 private int numElements; /// <summary> /…
/** * 递归实现二分查找法 * Create by Administrator * 2018/6/21 0021 * 上午 11:25 **/ class OrdArray{ private long[] a; private int nElems; public OrdArray(int max){ this.a = new long[max]; this.nElems = 0; } public int size(){ return nElems; } public long find(…
I Count Two Three 二分查找用lower_bound 这道题用cin,cout会超时... AC代码: /* */ # include <iostream> # include <cstring> # include <string> # include <cstdio> # include <cmath> # include <algorithm> using namespace std; const int TWO…