排序
今天向大家介绍两种比较常见的数组排序,第一个是冒泡排序,另一个是直接选择排序,让我们一起来看一下吧!
小知识:数组的第一个元素是0,是从0元素开始的。
1. 冒泡排序
话不多说,我们先来看一下代码。
public class maopaodemo {
public static void main(String[] args) {
int a[]={123,423,4,23,4,23,4,2234,2,3,423,23,5,23};
//定义一个数组
for(int b=1;b<a.length;b++){
//先循环一共比较多少次
for(int c=0;c<a.length-b;c++){
//每次循环后都确定了一位数,所以要剪掉每次运行的次数
if(a[c]>a[c+1]) {
int t=a[c];
a[c]=a[c+1];
a[c+1]=t;
//数组第一个和他的第二位作比较 如果大于
//申请了一个临时变量取交换他俩的数值
}
}
}
System.out.println(a[0]);
//输出最小的一位数
for(int p:a){
System.out.print(p+" ");
//整数p遍历数组a并输出结果
}
}
}
2. 直接选择排序
public class zhijiexuanzhepaixxudemo {
public static void main(String[] args) {
int a[] = {123, 423, 4, 23, 4, 23, 4, 2234, 2, 3, 423, 23, 5, 23};
for (int b = 1; b < a.length; b++) {
int o = 0;
//申请一个下标并指向0元素
for (int c = 1; c <= a.length - b; c++) {
//因为下表指向的是0元素,为了保持数组循环的足够
//所以我们要让c小于等于a的长度
if (a[o] < a[c]) {
o = c;
}
//数组里下标0元素和数组做对比
//如果小于就让下标指向最大的数
int t = a[o];
a[o] = a[a.length - b];
a[a.length - b] = t;
//申请临时变量取交换他俩的值
//现在a[o]是最大的
//每次a数组里循环过后-b都是最大的数
}
}
System.out.println(a[0]);
//输出最小的数
for (int p : a) {
System.out.print(p + " ");
}
//p遍历数组a并输出结果
}
}
今天你学废了吗!