insertsort.java

来自「JAVA培训用实用代码」· Java 代码 · 共 45 行

JAVA
45
字号
public class InsertSort{
	public static void main(String args[]){
		int array[] = {55,2,6,-4,32};
		System.out.println("数据原始顺序:");
		for(int i=0; i<array.length; i++) {     	
			System.out.print(array[i] + "\t");
		}
		System.out.println();
		
		InsertSort b = new InsertSort();
		int[] result =  b.isort(array); 			
		System.out.println("\n排序后:");
		for(int i=0; i<result.length; i++) {        
			System.out.print(result[i] + "\t");
		}
	}

	public int[] isort(int a[]) {// 插入排序              
	    int inserter,index,size = a.length;
		System.out.println("\n插入排序过程:");
		for(int i=1; i<size; i++) { 
		// 从第2个元素开始,共执行size-1轮
		    inserter = a[i];
			index = i - 1;
			// 寻找插入点
			while(index>=0 && inserter<a[index]) {
			    a[index+1] = a[index];	// 后挪一个位置
				index--;
			}
			a[index+1] = inserter;      // 插入
			
			// 比较一轮后就输出已排序和未排序序列
			System.out.print("第" + i + "轮:");
			for(int j=0; j<size; j++) {
			    System.out.print(a[j] + " , ");
				if(j==i)                   
				// 打印已排序与未排序数据的分界线
				System.out.print(" || ");
			}
			System.out.println();
		}
		return a;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?