java排序

选择排序
思路
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);
}






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值