package com.jlz.java;
import java.util.ArrayList;
import java.util.ListIterator;
/**
*
* @author Jlzlight
* <strong><span style="font-size:18px;">算法思想:默认前面是已经排好序的元素,将后面的元素一次插入到前面的序列</span></strong>
*/
public class Insert_Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// 初始化列表
ArrayList<Object> arrayList = new ArrayList<Object>();
arrayList.add(60);
arrayList.add(55);
arrayList.add(48);
arrayList.add(90);
arrayList.add(36);
// 显示列表元素
Show(arrayList);
// 选择排序函数
Insert(arrayList);
}
private static void Insert(ArrayList<Object> arrayList) {
// TODO Auto-generated method stub
// 假设第一个已经有序了
for (int i = 1; i < arrayList.size(); i++) {
Object object = arrayList.get(i);
// 插入到已经排序好的元素里
for (int j = i-1; j >= 0; j--) {
if((Integer)object<(Integer)arrayList.get(j)){
arrayList.set(j+1, arrayList.get(j));
arrayList.set(j, object);
}
}
Show(arrayList);
}
}
// 显示列表元素
public static void Show(ArrayList<Object> arrayList) {
// 运用迭代遍历,也可以直接遍历
ListIterator<Object> listIterator = arrayList.listIterator();
while (listIterator.hasNext()) {
System.out.print(" " + listIterator.next());
}
// 换行函数
Println();
}
// 换行
public static void Println() {
System.out.println();
}
}
【60】 55 48 90 36
【55 60】48 90 36
【48 55 60】 90 36
【48 55 60 90】36
【36 48 55 60 90】