使用冒泡法排序数组:
如果一个数组中的元素是杂乱无序的,而我们又希望将数组中的元素变为有序的,比如变为升序排列的,这样我们需要一种算法来实现数组元素的排序,其中冒泡法就是一种常用的排序方法。 1.冒泡排序法的原理: 升序排列步骤如下: (1)对于一个有n个元素的数组,首先用数组中的第一个元素和后面的每个元素进行比较,如果第一个元素比后面的元素大,就交换这两个元素的位置,直到比较到最后一个元素为止,这样经过第一轮的比较,可以保证第一个元素是最小的; (2)用数组中的第二个元素和后面的每个元素进行比较,如果第二个元素比后面的元素大,就交换这两个元素的位置,直到比较到最后一个元素为止,这样经过第二轮的比较,可以保证第二个元素比第一个元素以外的其他元素都小; (3)重复(1)、(2)两个步骤,直到比较到第n-1轮,比较出第n-1个元素和第n个元素的大小,使第n-1个元素小于第n个元素,这样就实现了数组的升序排列。 升序排列数组的冒泡法的代码: int[] num={10,5,20,18,30,12,25}; // 使用冒泡法排序数组 for (int i=0;i<num.length-1;i++){ for (int j=i+1;j<num.length;j++){ if (num[i]>num[j]){ int x=num[i]; num[i]=num[j]; num[j]=x; } } } 升序排列的结果:5 10 12 18 20 25 30 降序排列步骤如下: (1)对于一个有n个元素的数组,首先用数组中的第一个元素和后面的每个元素进行比较,如果第一个元素比后面的元素小,就交换这两个元素的位置,直到比较到最后一个元素为止,这样经过第一轮的比较,可以保证第一个元素是最大的; (2)用数组中的第二个元素和后面的每个元素进行比较,如果第二个元素比后面的元素小,就交换这两个元素的位置,直到比较到最后一个元素为止,这样经过第二轮的比较,可以保证第二个元素比第一个元素以外的其他元素都大; (3)重复(1)、(2)两个步骤,直到比较到第n-1轮,比较出第n-1个元素和第n个元素的大小,使第n-1个元素大于第n个元素,这样就实现了数组的降序排列。 降序排列数组的冒泡法的代码: int[] num={10,5,20,18,30,12,25}; // 使用冒泡法排序数组 for (int i=0;i<num.length-1;i++){ for (int j=i+1;j<num.length;j++){ if (num[i]<num[j]){ int x=num[i]; num[i]=num[j]; num[j]=x; } } } 降序排列的结果: 30 25 20 18 12 10 5 |