Day26-数组的三种排序方式
关于数组的三种排序方式
先声明一个数组:int[] nums = {4,9,7,2,5};
使用sort方法
Arrays.sort(nums);
遍历数组
for(int n:nums){
System.out.print(n+",");
}
结果:
使用插入排序
for(int j = 0;j < nums.length;j++){
for(int i = 0;i < nums.length;i++){
if(nums[j]<nums[i]){
int min = nums[j];
nums[j] = nums[i];
nums[i] = min;
}
}
}
注解:
将数组的第一个元素和所有元素比较,记录小的放在左边,比较完:{2,9,7,4,5}
将数组的第二个元素和所有元素比较,记录小的放在左边,比较完:{2,4,7,9,5}
将数组的第三个元素和所有元素比较,记录小的放在左边,比较完:{2,4,5,9,7}
将数组的第四个元素和所有元素比较,记录小的放在左边,比较完:{2,4,5,7,9}一共比较4x5=20次。
3.冒泡排序
for(int j = 1;j <= nums.length;j++){
for(int i = 1;i < nums.length-j;i++){
if(nums[i] < nums[i-1]){
int temp = nums[i];
nums[i] = nums[i-1];
nums[i-1] = temp;
}
}
}
注解:
第一次循环: 第二次循环: 第三次循环: 第四次循环:
{4,9,7,2,5} {4,2,7,5,9} {2,4,5,7,9} {2,4,5,7,9}
{4,7,9,2,5} {4,2,5,7,9} {2,4,5,7,9}
{4,7,2,9,5} {4,2,5,7,9}
{4,7,2,5,9}一共比较 4+3+2+1 = 10次。
overover