黑马程序员——函数的例子

------- android培训java培训、期待与您交流! ----------

我们就写几个函数(几个段子)有不同功能,可以对数组 遍历,获取最值,排序,查找
数组:就是同一类型数据的集合 一维格式 元素类型[] 数组名 = new 元素类型[数组长度] 或者 new 元素类型[]{元素1·元素2···}
static void BianLi(int[] arr){for(int x=0;x<arr.length;x++){操作arr[x]}}
static void Max(int[] arr){int max=arr[0];遍历arr{if(arr[x]>max){max=arr[x]}} return max}
static void Min(int[] arr){int min=0;遍历arr{if(arr[x]<arr[min]){min=x}} return arr[min]}
static void PanXu(int[] arr){遍历arr for(int x=0;x<arr.length-1;x++)
                             内层循环遍历除之前遍历完剩下的数 for(int y=0;y<arr.length-x-1;y++)
                             if(arr[y]<arr[y+1]) int temp=arr[y]; arr[y]=arr[y+1];arr[y+1]=temp}
这是冒泡排序 就是一个数和后面一个数比 见到大的就交换位置 然后后面这数再和它后面的数比 以此类推 最后一个数就是最小的了;
static void PanXu(int[] arr){遍历arr for(int x=0;x<arr.length-1;x++)
                             for ( int y=x+1;y<arr.length;y++)
                             int temp=arr[x];arr[x]=arr[y];arr[y]=temp;}
这是选择排序 第一个数和后面一个的比 见到大的就交换位置 然后第一个数在和更后面的比 见到大的再交换位置 选出来的第一就是最大的
先排序成有序数组,折半查找 min=0 max=arr.length-1 mid=(max+min)/2 
while(arr[mid!=key])看数组最中间的数是否要找的数
if(key>arr[mid]) min=mid+1 如果key比中间的数大 就从后半边查找 依然用折半法 
if(key<arr[mid]) max=mid-1 如果key比中间的数小 就从前半边查找 依然用折半法
return min;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值