博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基础算法:插入排序
阅读量:5122 次
发布时间:2019-06-13

本文共 922 字,大约阅读时间需要 3 分钟。

今天开始学习算法,按自己能理解的方式写了插入排序算法以便后记.

 

package SortInsert; public class SortInsert {
public static void main(String args[]) {
int sortData[] = { 4, 1, 2, 3, 8, 6, 5, 9, 11 }; sort(sortData); System.out.println(sortData); } static int i, j, tmp; public static void sort(int data[]) {
for (i = 1; i < data.length; ++i) {
tmp = data[i]; j = i - 1; while (true) {
if (j < 0 || data[j] < tmp) break; data[j + 1] = data[j]; // 如果这个数比需要排序的数大时则向后移动一单元 j--; } data[j + 1] = tmp; } } }

 

1.假设前面的data[n-1]数据已经排好.到排序data[n]这个数时,先保存data[n] 到临时变量tmp用于后来插入到适当的位置.

2.当data[n-1]大于data[n]时,data[n-1]向后移动一个单元.以更当data[n-2] 小于tmp (要排序的这个值)时,插入data[n-1]未移动前时的位置.

3.若data[n-2]仍大于tmp,  data[n-2]向后移动一个单元,以更当data[n-3] 小于tmp (要排序的这个值)时,插入data[n-2]未移动前时的位置, 以此类推.

转载于:https://www.cnblogs.com/ITmelody/archive/2011/11/17/2253009.html

你可能感兴趣的文章
域名、网站名、URL
查看>>
Docker常用命令
查看>>
MySql学习路线00
查看>>
mysql几种存储引擎介绍
查看>>
转-Android客户端和服务端如何使用Token和Session
查看>>
IOS第14天(2, Modal控制)
查看>>
删除确认代码
查看>>
刻意练习
查看>>
学习笔记13_第三方js控件&EasyUI使用
查看>>
Java变量的初始化问题探究
查看>>
DSU on tree——令人惊叹的想法
查看>>
javascript 闭包
查看>>
约瑟夫环问题
查看>>
c++ __int64
查看>>
IP封锁 (防火墙维护一张IP黑名单)
查看>>
【模板】trie树(字典树)
查看>>
JSON.stringify 语法实例讲解
查看>>
Python6 模块
查看>>
P3377 【模板】左偏树(可并堆)
查看>>
Djang 用户登录
查看>>