JAVA几种常见的排序、冒泡、插入、、

package com.huadee.array;
import java.util.Arrays;
public class ArrayDemo05 {
public static void main(String[] args) {
System.out.println("第一种数组排序 利用Arrays的sort的方法");
int a[] = {45,21,78,12,95,65,32,2,15};

Arrays.sort(a);
for (int i : a) {
System.out.print(i+",");
}

System.out.println("");
System.out.println("第二种数组排序 利用冒泡排序的方法");
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length; j++) {
if (a[i]<a[j]) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+",");
}
System.out.println("");
System.out.println("第三种数组排序 利用選擇排序的方法");
for (int i = 0; i < a.length; i++) {
int lowerIndex = i;
//找出最小的的一個
for (int j = i+1; j < a.length; j++) {
if (a[j] < a[lowerIndex]) {
lowerIndex = j;
}
}
//交換
int temp = a[i];
a[i] = a[lowerIndex];
a[lowerIndex] = temp;
}
for (int i : a) {
System.out.print(i+",");
}
System.out.println("");
System.out.println("第四种数组排序 利用插入排序的方法");

for (int i = 0; i < a.length; i++) {
// i从一开始,因为第一个数已经是排好序的啦
for (int j = i; j >0; j--) {
if (a[j] < a[j-1]) {
int temp = a[j];
a[j] = a[j-1];
a[j-1] = temp;
}
}
}
for (int i : a) {
System.out.print(i+",");
}
System.out.println("");
System.out.println("第五种数组排序 利用希尔排序的方法");
//分组
for(int increment=a.length/2; increment>0; increment/=2 ){
//每个组内排序
for (int i = 0; i < a.length; i++) {
int temp = a[i];
int j = 0;
for (j=i; j >= increment; j-=increment) {
if (temp<a[j-increment]) {
a[j] = a[j-increment];
}else{
break;
}
}
a[j]=temp;
}
}
for (int i : a) {
System.out.print(i+",");
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值