`
gongjiayun
  • 浏览: 158906 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

插入排序

 
阅读更多
插入排序:数组左边的数据项是已经排好序的,然后从没有排好序的数据项中取出第一个数据项记为temp,开始与左边数据项进行比较,如果找到比此数据项大的数据项记为out,则将temp放到out位,再从out位开始将左边排好序的数据项向后移一位,依此类推。

下面来看一下java代码:


package com.gjy.collect;

public class ArrayIns {
	private long [] array;
	private int index;
	
	public ArrayIns(int max) {
		array = new long[max];
		index = 0;
	}
	
	public void insert(long a){
		array[index] = a;
		index ++;
	}
	
	public void display(){
		for(int i=0;i<index;i++){
			System.out.println(""+array[i] );
		}
	}
	
	public void selectionSort(){
		int out,in;
		
		for(out=1;out<index;out++){
			long temp = array[out];
			in = out;
			while(in>0 && array[in-1]>=temp){
				array[in] = array[in-1];
				-- in;
			}
			array[in] = temp;
		}
	}
	
	
	public static void main(String[] args) {
		int max = 100;
		ArrayIns arr;
		arr = new ArrayIns(max);
		
		arr.insert(12);
		arr.insert(45);
		arr.insert(7);
		arr.insert(89);
		arr.insert(52);
		arr.insert(72);
		arr.insert(96);
		arr.insert(1);
		arr.insert(46);
		
		arr.selectionSort();
		arr.display();
		
		
	}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics