数组排序
package day02;
import java.util.Arrays;
public class m {
public static void main(String[] args) {
int[] arr = {9,8,3,0,5,6,0,4,7,2,1};
System.out.println();
new m().arraySort6(arr);
}
public void arraySort1(int array[]) {
Arrays.sort(array);
for (int i : array) {
System.out.print(i+",");
}
}
public void arraySort2(int array[]) {
int n = array.length-1;
int k = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n-i; j++) {
if (array[j]>array[j+1]) {
k=array[j];
array[j]=array[j+1];
array[j+1]=k;
}
}
}
for (int i : array) {
System.out.print(i+",");
}
}
public void arraySort3(int array[]) {
int n = array.length;
for (int i = 0; i < n; i++) {
int tem = i;
for (int j = i; j < array.length; j++) {
if (array[j]<array[tem]) {
tem = j;
}
}
int temp1 = array[i];
array[i] = array[tem];
array[tem] = temp1;
}
for (int i : array) {
System.out.print(i+",");
}
}
public void arraySort4(int array[]) {
for (int i = 0; i < array.length/2; i++) {
int tp = array[i];
array[i]=array[array.length-i-1];
array[array.length-i-1]=tp;
}
for (int i : array) {
System.out.print(i+",");
}
}
public void arraySort5(int array[]) {
for (int i = 1; i < array.length; i++) {
for (int j = i; j > 0; j--) {
if (array[j-1] >array[j]) {
int tmp = array[j-1];
array[j-1] = array[j];
array[j] = tmp;
}
}
}
for (int i : array) {
System.out.print(i+",");
}
}
public void arraySort6(int array[]) {
int n = array.length;
int gap = n/2;
while(gap>0) {
for(int j = gap;j<n;j++) {
int i = j;
while(i>=gap&&array[i-gap]>array[i]) {
int temp = array[i-gap]+array[i];
array[i-gap]=temp-array[i-gap];
array[i]=temp-array[i-gap];
i-=gap;
}
}
gap = gap/2;
}
for (int i : array) {
System.out.print(i+",");
}
}
}