for循环应用(排序,查找)

冒泡排序

冒泡排序需要对相邻两个进行比较,所以我们的比较次数就是length - 1;
并且我们每次比较一次都会产生一个最大值排在最后所有,我们要使用
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length-i-1; j++) {

                        语句体;
                
    }
}
点击查看代码
import java.util.Arrays;

//冒泡排序
public class ForDemo5 {
    public static void main(String[] args) {
        int[] arr = {1,5,4,13,41,23,42,66,11,15,9};
        MaoPaoSort(arr);
    }
    public static void MaoPaoSort(int [] arr){

        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length-i-1; j++) {
                if(arr[j]>arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }

            }
        }
        System.out.println(Arrays.toString(arr));
    }
    }

//1.给定一个整数数组 `nums` 和一个目标值 `target`,
// 请找出数组中两个数之和等于目标值的所有下标对,并返回一个二维数组。
//输入:`nums = [2, 7, 11, 1, 3, 6,15,8]``target = 9`
我们要处理的难点就是如何将我们的一维数组放入二维数组中
nums---> ArrayList   ---(一一对应即可)  ---->nums1
点击查看代码
public class ForDemo6 {
    public static void main(String[] args) {
        int[] nums = {2, 7, 11, 1, 3, 6,15,8};
        ArrayList<int[]> list = new ArrayList<>();
        int target = 9;
        int c= 0;
        for (int i = 0; i < nums.length; i++) {
            for (int j = 0; j < nums.length; j++) {
                if(i != j && (nums[i]+nums[j])==target && i<j){
//                    System.out.println(i+","+j);
                    list.add(new int[]{i,j});
                    c++;
                }

            }
        }
        int[][] nums1 = new int[c][2];
        for (int i = 0; i < list.size(); i++) {
            nums1[i][0] =  list.get(i)[0];//该集合本来就是集合数组,通过集合数组对二维数组进行一对一赋值
            nums1[i][1] =  list.get(i)[1];

        }
        for (int i = 0; i < nums1.length; i++) {
            System.out.println("["+nums1[i][0]+","+nums1[i][1]+"]");

            System.out.println();

        }

    }
}

posted @   wang_jun  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示