插入排序(直接插入,折半插入,希尔)

1 查看各个项目的Project ID编号

mysql -uroot -h10.10.2xx.xx

show databases;

use bugfree2;

desc bf_TestProject;

select ProjectID,ProjectName from bf_TestProject;(查询结果如下)

2 在/var/www/html/bugfree/BugFile路径下创建文件夹

mkdir Project2  Project3  Project4  Project5  Project6;

chmod 777 Project2  Project3  Project4  Project5  Project6;

3 重启apche(这一步可能不是必须的,我直接重启,然后上传附件成功了)

service httpd restart;

插入排序(直接插入,折半插入,希尔)

时间: 2024-10-06 01:49:29

插入排序(直接插入,折半插入,希尔)的相关文章

插入排序——2折半插入排序实现

折半插入与直接插入的不同在于,搜索要插入的位置的时候,使用的是折半搜索(二分搜索).这种查找方式理论上比顺序查找的效率要高. 其代码实现如下: public IList<int> InsertionSort(int[] ary) { for (int i = 1; i < ary.Length; i++) { int low = 0; int high = i - 1; var key = ary[i]; //不断的折半 while (low <= high)//注意包含等号 {

算法学习之排序算法:插入排序(直接插入排序、折半插入排序、2-路插入排序)

引言: 插入排序作为最简单易于理解的排序算法,基本实现比较简单.本文详细介绍直接插入排序,并给出实现,简单的介绍折半插入排序,并给出2-路插入排序和表插入排序两种插入排序,但并未给出具体实现. 一.直接插入排序 直接插入排序的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的.记录数增1的有序表. 算法描述: 步骤1.将待排序的一组记录中的第1个记录拿出来作为一组有序的记录(当然此时该组记录仅有1个记录). 步骤2.依次将待排序的一组记录中的记录拿出来插入到前面已排好序的记录中. 步

直接插入排序与折半插入排序——Java实现

1.直接插入排序 1)原理说明:直接插入排序是一种最简单的插入排序方法,它的基本思想是,仅有一个元素的序列总是有序的,因此,对n 个记录的序列,可从第二个元素开始直到第n 个元素,逐个向有序序列中执行插入操作,从而得到n 个元素按关键字有序的序列. 2)代码实现如下: package com.test.sort; public class InsertSort { private static void sort(int[] data) { for (int i = 1; i < data.le

C语言实现折半插入算法

1 #include <stdio.h> 2 int BInsertSort(int array[],int left,int right){ //接收主函数调用语句中的实参传到这里的形参里 3 int low,high,mid; 4 int temp; 5 for(int i=left+1;i<=right;++i){ 6 temp=array[i]; //把第2个数(也就是下标1位置的数)存到temp临时变量里,即从第2个数开始往后的序列依次按照折半插入插入到第一个数的数列里(默认第

数据结构——排序——直接插入排序和折半插入排序算法

直接插入排序(Insertion Sort)的基本思想是: 每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止. 设数组为a[0…n-1]: 1. 初始时,a[0]自成1个有序区,无序区为a[1..n-1].令i=1 2. 将a[i]并入当前的有序区a[0…i-1]中形成a[0…i]的有序区间. 3. i++并重复第二步直到i==n-1.排序完成. #include<stdio.h> #include<stdbool.h> vo

直接插入排序、折半插入排序、Shell排序、冒泡排序,选择排序

一.直接插入排序 稳定,时间复杂度:最好O(n).最差O(n^2).平均O(n^2).空间复杂度O(1) void InsertSort(int L[], int n) { int i, j,key; for (i = 1; i<n; i++) if(L[i] < L[i-1])//须要将L[i]插入到有序表L[0...i-1] { key = L[i]; for(j = i-1; j >= 0 && key < L[j]; j--)//后移 L[j+1] = L[

java 排序算法 折半 堆 希尔 快速 整理

试题1:折半查找 折半查找是在有序表中,把待查找数据值与查找范围的中间元素值进行比较,会有三种情况出现: 1)待查找数据值与中间元素值正好相等,则放回中间元素值的索引. 2)待查找数据值比中间元素值小,则以整个查找范围的前半部分作为新的查找范围,执行1),直到找到相等的值. 3)待查找数据值比中间元素值大,则以整个查找范围的后半部分作为新的查找范围,执行1),直到找到相等的值 4)如果最后找不到相等的值,则返回不存储数据的备用单位0. 给你的问题是,标准输入一升序排列有序整数表,使用折半查找方法

内部排序(3)——插入排序之折半插入排序

因为插入排序的基本思想是在一个有序序列中插入一个新的记录,则能够利用"折半查找"查询插入位置,由此得到的插入排序算法为"折半插入排序".算法例如以下: void BInsertSort () { // 对顺序表L作折半插入排序 for ( i=2; i<length; ++i ) { <span style="white-space:pre"> </span>r[0] = r[i]; // 将r[i]暂存到r[0]

常见排序集合(冒泡排序,选择排序,直接插入排序,二分插入排序,快速排序,希尔排序,归并排序)

一下是一些常见的排序算法: 交换元素(后面算法都有用到): // 交换元素 private static void swap(int[] a, int i, int j) { int temp; temp = a[i]; a[i] = a[j]; a[j] = temp; } 冒泡排序(有优化): // 冒泡排序(优化①,②,③,④) private static void bubbleSort(int[] a) { boolean flag = false;// ①表示整个序列是无序的 for