1冒泡排序
//1.冒泡排序
int [] nums = {2,7,1,8,5};
System.out.println("排序之前:");
System.out.println(Arrays.toString(nums));
int temp = 0;
//外层循环控制轮数 数组长度 - 1
//外层循环 n-1
//内层循环 n-1-i
//内层循环 比较之后进行两个数的交换
for(int i=0; i<nums.length-1; i++) {
for(int j=0; j<nums.length - i - 1; j++) {
if(nums[j] > nums[j+1]) {
temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
System.out.println("冒泡排序之后====");
System.out.println(Arrays.toString(nums));
2交换排序
这其实也是相当于冒泡排序
int temp = 0;
for(int i=0; i<nums.length - 1; i++) {
for(int j=i+1; j<nums.length; j++) {
if(nums[i] > nums[j]) {
temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
}
3选择排序
int temp = 0;
for(int i=0; i<nums.length; i++) {
int k = i;
for(int j=nums.length-1; j>i; j--) {
if(nums[j] < nums[k]) {
k = j;
}
}
temp = nums[i];
nums[i] = nums[k];
nums[k] = temp;
}
4插入排序
//一开始,就默认有顺序,如果有小于(大于),只需要,依次插入就行
int temp = 0;
int j = 0;
for(int i=0; i<nums.length; i++) {
temp = nums[i];
for(j=i; j>0 && temp<nums[j-1]; j--) {
nums[j] = nums[j-1];
}
nums[j] = temp;
}