标签:思想 print return dem 开始 turn 一个 就是 vat
插入排序的核心思想:/**
冒泡排序的实现
*/
public class InsertArray {
//数组
private long[] arr = null;
//数组中有效数据的大小
private int elems;
public InsertArray() {
arr = new long[50];
}
public InsertArray(int length){
arr = new long[length];
}
/**
/**
@return
*/
public int find(long value){
int i = 0;
for(i=0;i<elems;i++){
if(value==arr[i])
break;
}
if(i >(elems-1)){
return -1;
}
return i;
}
/***
@param value
*/
public boolean delete(long value){
int key = find(value);
if(key == -1){
System.out.println("删除数据失败,未查找到要删除的数据");
return false;
}
for (int i = key; i < elems; i++) {
arr[i] = arr[i+1];
}
elems--;
return true;
}
/***
/**
所以:我们在找这个元素的时候需要从第二个元素开始找(数组的下标为1),然后依次找后面的元素
*/
public void insertSort(){
long keyValue = 0;
//这里定义i的目的就是我们需要找的元素的坐标
for (int i = 1; i < elems; i++) {
//获取到我们要查找的一个元素
keyValue = arr[i];
int j = 0;
for (j = i; ((j > 0) && (arr[j-1] > keyValue)); j--) {
//通过里面的判断arr[j-1]>keyValue 的值的时候,将整体右移,空出最左边的位置
arr[j] = arr[j-1];
}
//将选择的数据插入到最左边
arr[j] = keyValue;
}
}
/**
}
测试Demo如下:
package com.zcp.ch04;
public class TestInsertMain {
public static void main(String[] args) {
InsertArray bubbleArray = new InsertArray();
bubbleArray.insert(10);
bubbleArray.insert(500);
bubbleArray.insert(80);
bubbleArray.insert(2);
bubbleArray.insert(23);
bubbleArray.disPlay();
bubbleArray.insertSort();;;
System.out.println("选择排序后的数据如下:");
bubbleArray.disPlay();
}
}
标签:思想 print return dem 开始 turn 一个 就是 vat
原文地址:http://blog.51cto.com/7298246/2154958