`
tuoni
  • 浏览: 29042 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

插入排序

阅读更多
package com.oracle.demo.test;

public class InsertSort {
	
	
	Comparable[] arr = new Comparable[50];
	public static void main(String[] args){
		
		
		InsertSort is=new InsertSort();
		//初始化数组
		System.out.println("before sort:");
		is.number();
		//进行其插入排序
		is.insert(is.arr);
		System.out.println();
		System.out.println("after sort:");
		//输出数组 
		is.print(is.arr);
		System.out.println();
		
	}
	/**
	 * 随机产生50个200以内的整数初始化数组
	 * 
	 */
	public void number() {

		for (int i = 0; i < 50; i++) {
			arr[i] = (int) (Math.random() * 200);
			if(i%8==0){
				
				System.out.println();
			}
			System.out.print(arr[i] + "\t");

		}

	}	
	
	/**
	 * 插入排序算法
	 */
	public void insert(Comparable[] data) {

		for (int index = 1; index < data.length; index++) {
			Comparable key = data[index];
			int position = index;
			//shift larger values to the right 
			while (position > 0 && data[position - 1].compareTo(key) > 0) {
				data[position] = data[position - 1];
				position--;
			}
			data[position] = key;
		}

	}
	/**
	 *打印方法 
	 */
	public static void print(Comparable[] arr) {
      
		for (int i = 0; i < arr.length; i++) {
            if(i%8==0){
            	System.out.println();
            }
			System.out.print(arr[i] + "\t");
		}
	}
	
	

}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics