首先是弄清楚原理:相邻的两个数进行比较,按照从小到大或者从大到小的顺序进行交换,就这样一次循环最大或者最小的数字就被拍到最后一位,然后再从头开始进行两两比较交换,直到结束。下面通过例子分步骤讲解(按从小到大的顺序排列)。
定义一个数组{5 ,6, 1,4 ,3}
第一次循环得到结果为:5 - 1 - 4 -3 -6
第二次循环得到结果为:1 - 4 - 3 -5 -6
如此类推最后得到的结果:1 -3 -4 -5 -6
下面进入代码:
定义一个数组储存数据,顺便输出一下,用for循环,length获取数组长度
接下来就是最重要的逻辑处理
这里就是交换的过程 ,利用双层for循环实现相邻两个数之间的交换
定义一个temp用于交换
直接看代码。
当上面的代码执行完成那么顺序也就排好了,在利用for循环输出
下面是完整代码:
public static void main(String[] args) {
//定义一个数组,存储数据
int[] x = {5, 6, 1, 4, 3, 8};
System.out.print("排序前的顺序:");
//循环输出
for (int i = 0; i < x.length; i++)
{
System.out.print(x[i]+"\t");
}
//排序的逻辑处理
for (int i = 0; i < x.length; i++) {
for (int j = i; j < x.length; j++) {
if (x[i] > x[j]) {
int temp = x[i];
x[i] = x[j];
x[j] = temp;
}
}
}
System.out.println();
System.out.print("排序后的顺序:");
for (int i = 0; i < x.length; i++)
{
System.out.print(x[i]+"\t");
}
}
最后的排序结果:
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!