首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

各种排序算法一

2012-06-29 
各种排序算法1package demoimport java.util.Arraysimport java.util.Randomimport org.junit.Testpub

各种排序算法1

package demo;

import java.util.Arrays;
import java.util.Random;

import org.junit.Test;

public class Sort {
?/**
? * 冒泡排序
? * 若前一个元素大于后一个元素,将两者交换。
? */
?public int[] bubbleSort(int[] iAry) {
??int aryLen = iAry.length;
??for (int i = 1; i < aryLen; i++) {
???for (int j = 0; j < aryLen - i; j++) {
????if (iAry[j] > iAry[j + 1]) {
?????swap(iAry, j, j + 1);
????}
???}
??}
??return iAry;
?}

?/**
? * 选择排序
? */
?public int[] selectSort(int[] iAry) {
??int aryLen = iAry.length;
??int index = 0;
??for (int i = 1; i < aryLen; i++) {
???index = 0;
???for (int j = 1; j <= aryLen - i; j++) {
????if (iAry[j] > iAry[index]) {
?????index = j;
????}
???}
???swap(iAry, index, aryLen - i);
??}
??return iAry;
?}

?/**
? * 插入排序
? * 将一个记录插入到已排好序的有序表中,从而得到一个新的记录数增1的有序表。
? */
?public int[] insertSort(int[] iAry) {
??int aryLen = iAry.length;
??for (int i = 1; i < aryLen; i++) {
???for (int j = 0; j < i; j++) {
????if (iAry[j] > iAry[i]) {
?????swap(iAry, i, j);
????}
???}
??}
??return iAry;
?}

热点排行