java算法插入排序优化代码

原文:java算法插入排序优化代码 代码下载地址:http://www.zuidaima.com/share/1550463280630784.htm

一个细节让插入排序更具效率

运行此方法需要为main方法传递参数

package com.zuidaima.sort;
/**
*@author www.zuidaima.com
**/
public class TestSort {
	public static void main(String args[]){
		int l = args.length;
		int[] a = new int[l];
		for(int i = 0;i < l;i++){
			a[i] = Integer.parseInt(args[i]);
		}
		for(int i = 0;i < l;i++){
			int k = i;
			int j;
			for(j = k + 1;j < l;j++){
				if(a[j] < a[k]){
					k = j;
				}
			}
			System.out.print("j = " + j);
			if(k != i){
				int temp = a[i];
				a[i] = a[k];
				a[k] = temp;
			}
		}
		System.out.println();
		for(int i = 0;i < l;i++){
			System.out.print(" a[" + i +"]:" + a[i]);
		}
	}
}

标签: 算法 排序 插入 java话题: 语言基础

java算法插入排序优化代码

时间: 2025-01-02 19:20:57

java算法插入排序优化代码的相关文章

疯狂的Java算法——插入排序,归并排序以及并行归并排序

从古至今的难题 在IT届有一道百算不厌其烦的题,俗称排序.不管是你参加BAT等高端笔试,亦或是藏匿于街头小巷的草根笔试,都会经常见到这样一道百年难得一解的问题. 今天LZ有幸与各位分享一下算法届的草根明星,排序届的领衔大神——插入排序以及归并排序.最后,在头脑风暴下,LZ又有幸认识了一位新朋友,名叫并行归并排序.接下来,咱们就一一认识一下,并且在最后来一次“算林大会”吧. 插入排序简介 插入排序,算林称最亲民的排序算法,插入排序采用最简单的插入方式对一个整数数组进行排序.它循环数组中从第二个开始

java入门排列算法 - - &gt;插入排序(代码量最少)

要理解插入排序,首先得理解实现一个算法-->对于一个已经从大到小排好序的数组a[],插入一个value使得整个数组的顺序依然是从大到小的: 这个算法的实现非常简单,不做探讨. 对于乱序数组a[];在外层i循环中,第一次循环,我假定数组只有一个元素a[0],以a[1]作为value来插入,第一次循环结束可以得到一个有序数组, 第二次循环以数组有两个元素a[0],a[1],再以a[2]作为value去插入,以此类推实现整个数组排序. import java.lang.reflect.Array;im

Java算法-插入排序

插入排序的基本思想是在遍历数组的过程中,假设在序号 i 之前的元素即 [0..i-1] 都已经排好序,本趟需要找到 i 对应的元素 x 的正确位置 k ,并且在寻找这个位置 k 的过程中逐个将比较过的元素往后移一位,为元素 x “腾位置”,最后将 k 对应的元素值赋为 x ,插入排序也是根据排序的特性来命名的. 插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入.其具体步骤参见代码及注释. 以下是一个实例,红色 标记的数字为插入的数字,被划掉的数

基本算法思想Java实现的详细代码

基本算法思想Java实现的详细代码 算法是一个程序的灵魂,一个好的算法往往可以化繁为简,高效的求解问题.在程序设计中算法是独立于语言的,无论使用哪一种语言都可以使用这些算法,本文笔者将以Java语言为例介绍一些常用的算法思想. 分类 穷举算法思想 递推算法思想 递归算法思想 分治算法思想 概率算法思想  穷举算法思想 穷举算法的基本思想 从所有可能情况中搜索正确答案 1. 对于一种可能情况,计算其结果. 2. 判断结果是否满足,如不能满足者执行第一步来搜索下一个可能的情况:如满足则表示选找到一个

编程算法 - 字符串相同 代码(Java)

字符串相同 代码(Java) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 实现一个算法, 确定一个字符串的所有字符是否全都不同. 假使不允许使用额外的数据结构, 又该如何处理. 解法1: 使用数据结构, 设置boolean数组, 把值(value)作为数组的索引(index), 判断数组是否重复. 解法2: 不使用数据结构, 可以通过位(bit)进行判断, 把每个字母映射2进制数的一位, 或运算("|")更新数字的位, 与运算("

uiautomatorviewer 优化定位符生成,支持生成Java,Python自动化代码

项目介绍 二次开发 uiautomatorviewer 优化定位符生成,支持生成Java,Python自动化代码,修复自带工具画面有动态加载时截图失败问题,优化自带工具截图速度 ,实现类似录制脚本功能.兼容IOS安卓. 软件架构 本工具以安卓SDK自带uiautomatorviewer为源码基础,在此上进行深度二次开发. 优化定位符Xpath生成,提取相对短的Xpath,解决自带工具Xpath太长不友好的问题 修复自带uiautomatorviewer截图报错,无法截图的Bug 优化截图速度优化

Java GC 专家系列5:Java应用性能优化的原则

本文是GC专家系列中的第五篇.在第一篇理解Java垃圾回收中我们学习了几种不同的GC算法的处理过程,GC的工作方式,新生代与老年代的区别.所以,你应该已经了解了JDK 7中的5种GC类型,以及每种GC对性能的影响. 在第二篇Java垃圾回收的监控中介绍了在真实场景中JVM是如何运行GC,如何监控GC数据以及有哪些工具可用来方便进行GC监控. 在第三篇GC 调优中基于真实案例介绍了可用于GC调优的最佳选项.同时也描述了如何通过降低移动到老年代中对象的数量来缩短Full GC耗时,以及如何设置GC类

Java程序性能优化——性能调优层次

为了提升系统性能,开发人员可以从系统的各个角度和层次对系统进行优化.除了最常见的代码优化外,在软件架构上.JVM虚拟机层.数据库以及操作系统层都可以通过各种手段进行调优,从而在整体上提升系统的性能. 设计调优 设计调优处于所有调优手段的上层,它往往需要在软件开发之前进行.在软件开发之初,软件架构师就应该评估系统可能存在的各种潜在的问题,并给出合理的设计方案.由于软件设计和架构对软件整体有决定性的影响,所以,设计调优对系统性能的影响也是最大的.如果说,代码优化.JVM优化都是对系统微观层面上"量&

算法的优化(C语言描述)

算法的优化 算法的优化分为全局优化和局部优化两个层次.全局优化也称为结构优化,主要是从基本控制结构优化.算法.数据结构的选择上考虑:局部优化即为代码优化,包括使用尽量小的数据类型.优化表达式.优化赋值语句.优化函数参数.全局变量及宏的使用等内容. 一.全局优化 1.优化算法设计 例如,在排序中用快速排序或者堆排序代替插入排序或冒泡排序:用较快的折半查找代替顺序查找法等,都可以极大地提高程序的执行效率. 2.优化数据结构 例如在一堆随机存放的数中使用了大量的插入和删除指令,那么使用链表要快得多.数