选择排序
思路
1.确定使用双层循环
2.确定排序的核心(比较两个数后换位)
3.寻找 比较规矩
+1是为了数组的第一位不用和第一个数比较
-1是比较到最后一个就不需要比较了
int[ ] array = {1,4,55,3,6};
for(int a = 0;a < srray.length - 1;a++){
for( int b = a + 1;b < srray.length;b++){
if(srray[a] > srray[b]){
int c = array[b];
array[b] =array[ a];
array[a] = array[c];
}
}
}
for(int a = 0;a < array.length;a++){
System.out.println(array[a]);
}
冒泡排序
思路:相邻的两个数进行比较
3 1 5 2
第一趟:确定一个数 放在最后(外层)
第一次:1352
第二次:1352
第三次:1325
(内层循环)
第二趟:确定一个数 放在倒数第二个
第一次:1325
第二次1235
第三趟:确定一个数 放在倒数第三个
第一次:1235
int[] array={3,0,5,2};
for(int a = 0;a < array.length;a++){
for(int b = 0;b < array.length - 1 - a;b++){
if(array[a] > array[a + 1]){
int c =array[ a + 1];
array[a + 1] = array[a];
array[a] = c
}
}
}
for(int a = 0 ; a < array.length;a++){
System.out.println(array[a]);
}
封装上面函数
public static Void sort(int[] array) {
int[] array = {3,1,5,2};
for (int a = 0; a < array.length - 1; a++) {
for (int b = 0; b < array.length - 1 - a; b++) {
if (array[b] > array[b + 1]) {
int temp =array[b + 1];
array[b + 1] = array[b];
array[b] = temp;
}
}
}
}
需求 创建一个10个数的数组
随机给数组中的10个 进行赋值
赋值范围【10,100】
int[] array3 = new int[10];
for (int i = 0; i < array3.length; i++) {
生成随机数
int num = (int)(Math.random() * (100 - 10 + 1) + 10);
System.out.println(num);
}
函数的封装
public static int sort(int a,int b) {
return(a > b) ? a : b;
}
使用以上封装的函数
public static int sort(int a,int b,int c) {
使用已经写好的两个数求最大值的方法
int max = sort(a, b);
return(max > c) ? max : c;
return sort(max, b);
}