Java实例——Java数组(一)

转:https://www.runoob.com/java/java-examples.html

Java实例——Java数组(一)

1、数组排序及元素查找:数组长度:l

联想:
(1)冒泡排序——遍历l-1次,每次将最大值都放在当前下标范围的最大下标处。
(2)选择排序——遍历l-1次,每次从0索引开始依次将最小元素都放在当前下标范围的最小下标处。
(3)二分查找——前提是数组本身是有序的。对半查找。

//打印数组
	public static void ptintArr(int[] arr) {
		System.out.print("数组元素输出:");
		for(int i =0;i<arr.length;i++) {//循环遍历
			if(i==arr.length -1) {//最后一个元素
				System.out.print(arr[arr.length-1]);
			}else {
				System.out.print(arr[i]+",");
			}
		}
	}
//冒泡排序
	public static void sort(int[] arr) {
		for(int i=0;i<arr.length-1;i++) {//循环遍历,遍历l-1
			for(int j=0;j<arr.length-1;j++) {//两两比较
				if(arr[j]<arr[j+1]) {//大的往后移
					int tem =arr[j];
					arr[j] =arr[j+1];
					arr[j+1]=tem;
				}
			}
		}
	}
       int[] arr = {1,2,5,6,3,4,8,7};
		ptintArr(arr);//打印
		System.out.println();//换行
		sort(arr);//调用sort方法
		ptintArr(arr);
输出结果:
数组元素输出:1,2,5,6,3,4,8,7
数组元素输出:8,7,6,5,4,3,2,1
	//选择排序
	@SuppressWarnings("unused")
	private static void printSele(int[] arr) {
		for(int i =0;i<arr.length-1;i++) {//循环遍历,遍历l-1次
			for(int j =i+1;j<arr.length;j++) {//下标0开始比较其他元素,遍历完一次前面的下标少一个
				if(arr[i]>arr[j]) {//小的往前移
					int tem =arr[i];
					arr[i] =arr[j];
					arr[j]=tem;
				}
			}
		}
	}
		int[] arr = {1,2,5,6,3,4,8,7};
		ptintArr(arr);
		System.out.println();
		printSele(arr);
		ptintArr(arr);
输出结果:
数组元素输出:1,2,5,6,3,4,8,7
数组元素输出:1,2,3,4,5,6,7,8
	//二分查找
	public static int searchAtr(int[] arr,int port) {
		Arrays.sort(arr);
		int min =0;
		int max =arr.length;
		System.out.println(max);
		int index=-1;
		while(min <= max) {//比较数组长度
			int mid =(min+max)/2;
			if(arr[mid] == port) {
				index=
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值