标签:
package com.zzw.排序;
public class Alogrithm {
public static void main(String[] args) {
int[] datas = new int[10];
// 初始化数据
initData(datas);
// 打印初始数据
printData(datas);
// 对数据进行排序
selectSort(datas);
// 打印排序后的数据
printData(datas);
}
/**
* 初始化数据
*
* @param datas
*/
public static void initData(int datas[]) {
for (int i = 0; i < datas.length; i++) {
// 随机产生1-100的值
datas[i] = (int) (Math.random() * 100) + 1;
}
}
/**
* 打印数据
*
* @param datas
*/
public static void printData(int datas[]) {
for (int i = 0; i < datas.length; i++) {
System.out.print(datas[i] + ",");
}
System.out.println();
}
/**
* 插入排序
*/
public static void insertSort(int datas[]) {
int j = 0;// 第二个数据开始插入的下表
int i = 0;// 插入的次数
for (i = 1; i < datas.length; i++) {
int temp = datas[i];
for (j = i - 1; j >= 0; j--) {
if (datas[j] > temp) {
datas[j + 1] = datas[j];
} else {
break;
}
}
// 判断j==-1;或者就是第一个小于等于temp的位置
datas[j + 1] = temp;
}
}
/**
* 冒泡排序
*/
public static void bubbleSort(int datas[]) {
int j = 0;
int i = 0;
for (j = datas.length - 1; j > 0; j--) {
for (i = 0; i < j; i++) {
if (datas[i] > datas[i + 1]) {
int temp = datas[i + 1];
datas[i + 1] = datas[i];
datas[i] = temp;
}
}
}
}
/**
* 选择排序
*/
public static void selectSort(int datas[]) {
for(int i=0;i<datas.length-1;i++){
int minIndex=i;
for(int j=i+1;j<datas.length;j++){
if (datas[minIndex]>datas[j]) {
minIndex=j;
}
}
int temp=datas[i];
datas[i]=datas[minIndex];
datas[minIndex]=temp;
}
}
}
标签:
原文地址:http://blog.csdn.net/zheweixingzhang/article/details/51335518