标签:oid 组元 new for out 复制 void 比较 冒泡
1.数组排序算法-冒泡排序算法
作用:可以对整数数组中的元素进行排序,与Arrays.sort方法的作用一样,唯一的区别是sort方法可以对任意的类型数组进行排序。
例子:
public class P_1 {
public static void main(String args[]) {
int[] a = new int[] {5,2,6,7,3,9};
P_1 p = new P_1();
p.mysort(a);
p.showarray(a);
}
public void mysort(int[] a) {
for(int i=1;i<a.length;i++) { //比较的次数(25次)
for(int j=0;j<a.length-1;j++) { //两个数进行比较,大的数往后移。
if(a[j]>a[j+1]) {
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}
public void showarray(int[] a) {
for(int i=0;i<a.length;i++) {
System.out.println(a[i]);
}
}
}
2.直接选择排序
作用:直接选择排序的作用跟冒泡排序一样,是对数组元素进行排序,优势在于直接选择排序算法比较的次数比冒泡排序算法少。
例子:
public class P_1 {
public static void main(String args[]) {
int[] a = new int[] {5,2,6,7,3,9};
P_1 p = new P_1();
p.mysort(a);
p.showarray(a);
}
public void mysort(int[] a) {
int sum = 0;
int index;
for(int i=1;i<a.length;i++) { //比较的次数
index = 0;
for(int j=1;j<=a.length - i;j++) { //从数组第一个元素开始比较,最大的数移到最后,赋值给a[index]。
if(a[j]>a[index]) {
index = j;
}
sum++;
}
int temp = a[a.length-i];
a[a.length-i] = a[index]; //将最大的数复制给最后数组的最后一个元素。
a[index] = temp;
}
System.out.println("次数"+sum); //总共比较15次
}
public void showarray(int[] a) {
for(int i=0;i<a.length;i++) {
System.out.print(">"+a[i]);
}
}
}
标签:oid 组元 new for out 复制 void 比较 冒泡
原文地址:https://www.cnblogs.com/wumingzhong/p/9174168.html