文档章节

InsertSort -- 插入排序

ninjaFrog
 ninjaFrog
发布于 2017/09/07 23:44
字数 163
阅读 1
收藏 0

/*
 * 插入排序基本思想
 * 将n个元素的数列分为已有序和无序两个部分,如插入排序过程示例下所示:
 * {{a1},{a2,a3,a4,…,an}}
 * {{a1⑴,a2⑴},{a3⑴,a4⑴ …,an⑴}}
 * {{a1(n-1),a2(n-1) ,…},{an(n-1)}}
 * 每次处理就是将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,
 * 找出插入位置,将该元素插入到有序数列的合适位置中。
 */

public class InsertSort {
	public static void sort(int[] data) {
		for (int i = 1; i < data.length; i++) {
			for (int j = i; (j > 0) && (data[j] < data[j - 1]); j--) {
				int temp = data[j];
				data[j] = data[j - 1];
				data[j - 1] = temp;
			}
		}

	}
}

 

本文转载自:

共有 人打赏支持
ninjaFrog
粉丝 3
博文 65
码字总数 15262
作品 0
昌平
程序员
私信 提问
排序算法:二分排序(插入排序+二分查找)

插入排序就是一直向后读,第一个数,加入前面已经有序的一串数里。 而插入排序是笨笨的一个个向前找的,可以优化一下,用二分查找找到合适的位置。 插入排序代码 void Insertsort2(int a[], ...

qq_36523667
03/03
0
0
插入排序(黄柳淞)

import java.util.Arrays; public class Demo { public static void main(String[] args) { int a[] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }; int[] arr = new int[] { 9, 8, 7, 6, 5, 4, 3, 2,......

黄柳淞
2016/11/21
4
0
排序算法C语言实现——插入排序(优于冒泡)

为什么插入排序要优于冒泡?   插入排序在于向已排序序列中插入新元素,主要的动作是移动元素,涉及1次赋值,即data[j] = data[j-1];   而冒泡排序在于相邻元素交换位置,涉及3条赋值,即...

Jo_ZSM
10/15
0
0
排序算法(四)插入排序

插入排序是一种简单直观的排序算法。它的原理是通过构建有序序列,对于未排序的数据,在已排序的序列中从后向前扫描,找到相应的位置,并插入数据形成有序排列。 算法实现描述

巡山
2016/05/17
23
0
经典排序算法(2) -插入排序 InsertSort

插入排序(InsertSort)在<>里的描述相当贴切:插入排序非常类似于整扑克牌。在开始摸牌时,左手是空的,牌面朝下放在桌上。接着,一次从桌上摸起一张牌,并将它插入到左手一把牌中的正确位置上...

hiyoung
09/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

EOS官方钱包keosd

EOS官方钱包的名称是keosd,它负责管理你的私钥,并且帮你进行交易的签名。 不过不幸的是,keosd钱包对普通用户并不友好,它是一个命令行程序,目前还没有像以太坊的mist那样的图形化界面,而...

汇智网教程
今天
25
0
ArrayList的实现原理以及实现线程安全

一、ArrayList概述 ArrayList是基于数组实现的,是一个动态的数字,可以自动扩容。 ArrayList不是线程安全的,效率比较高,只能用于单线程的环境中,在多线程环境中可以使用Collections.syn...

一看就喷亏的小猿
今天
34
0
Netty 备录 (一)

入职新公司不久,修修补补1个月的bug,来了点实战性的技术---基于netty即时通信 还好之前对socket有所使用及了解,入手netty应该不是很难吧,好吧,的确有点难,刚看这玩意的时候,可能都不知道哪里...

_大侠__
昨天
40
0
Django简单介绍和用户访问流程

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。 Django是一个开放源代码的Web应用框架,由Python写成。 Django遵守BSD版权,初...

枫叶云
昨天
52
0
Spring Cloud Stream消费失败后的处理策略(四):重新入队(RabbitMQ)

应用场景 之前我们已经通过《Spring Cloud Stream消费失败后的处理策略(一):自动重试》一文介绍了Spring Cloud Stream默认的消息重试功能。本文将介绍RabbitMQ的binder提供的另外一种重试...

程序猿DD
昨天
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部