目录
1.冒泡排序代码实现(这里举例从小到大排)
1.1介绍
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序按自己要求的大小序列错误就把他们交换过来。
1.2 算法步骤
1.2.1比较相邻的元素。如果第一个比第二个大,就交换他们两个。
1.2.2对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后, 最后的元素会是最大的数。
1.2.3针对所有的元素重复以上的步骤,除了最后一个。
1.2.4持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
1.3实验代码
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int t;
int[] a = new int[]{9,8,7,6,5,4,3,2,1};
//冒泡排序
for(int i=0;i<a.length-1;i++){ //i<a.length-1,因为最后要用倒数第二个和最后一个比较
for(int j=0;j<a.length-1-i;j++){ //每循环一次,就会排出一个最大值
if(a[j]>a[j+1]){ //调换
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
System.out.println(Arrays.toString(a));//转换为字符串输出
//实验结果 [1, 2, 3, 4, 5, 6, 7, 8, 9]
}
}
2.简单选择排序(这里举例由小到大排)
2.1介绍
在待排序数组中选出最小的(或最大)的与第一个位置的数据交换 然后在剩下的待排序数组中找出最小(或最大)的与第二个位置的数据交换,以此类推,直到第n-1个元素。
2.2算法步骤
① 第一轮从下标为 1 到下标为 n-1 的元素中选取最小值,若小于第一个数,则交换
② 第二轮从下标为 2 到下标为 n-1 的元素中选取最小值,若小于第二个数,则交换
③ 依次类推下去……
2.3实验代码
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int t;
int k;
int[] a = new int[]{9,8,7,6,5,4,3,2,1};
//选择排序
for(int i=0;i<a.length-1;i++){ //总共排length-1次
k=i; //将k开始定位到i
for(int j=i+1;j<a.length;j++){
if(a[k]>a[j]){ //挑选出最小值的下标
k=j;
}
}
if(k!=i){
t=a[k]; //如果k的下标与i不同,则要交换
a[k]=a[i];
a[i]=t;
}
}
System.out.println(Arrays.toString(a)); //输出打印成字符串
//实验结果 [1, 2, 3, 4, 5, 6, 7, 8, 9]
}
}