黑马程序员技术交流社区

标题: 技术贴 [打印本页]

作者: 郑威    时间: 2019-8-21 00:27
标题: 技术贴
才上基础班,也没有什么技术,就整理了一些有趣的题目         

一   定义一个数组,将数组中元素进行排序                                    
方法一           顺序排序
public class Test1 {
    public static void main(String[] args) {                                                                  
          //定义数组
        int []  arr = {30, 4 , 10, 23, 15, 26};
        //第一层循环定义当前需要与后面选择排序的数的索引
        for (int i = 0; i < arr.length-1; i++) {
             //定义的应该是当前需要选择和后面排序的数的起始位置
            for (int j = i+1; j < arr.length; j++) {
                   if(arr>arr[j]){
                       int temp=arr[j];
                       arr[j]=arr;
                       arr=temp;
                   }
            }
        }
        for (int i = 0; i <arr.length ; i++) {
            System.out.print(arr+"  ");
        }
    }
方法二             冒泡排序

public class Test2 {
    public static void main(String[] args) {
        int []  arr = {12,25,8,63,26,21,15,9,2};
        //外层循环控制冒泡的次数
        for (int i = 0; i < arr.length-1; i++) {
            //内层循环控制每一次冒泡你要判断数
            for (int j = 0; j < arr.length-1-i; j++) {
                    if(arr[j]>arr[j+1]){
                        int temp=arr[j];
                        arr[j]=arr[j+1];
                        arr[j+1]=temp;
                    }
            }
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr+" ");
        }
    }
}

二,  在一个数组中,某一个元素出现的次数>length/2,请用程序获取数组中的该数字。
  public static void main(String[] args) {
        int[] arr = {1, 0, 1, 0, 0, 3, 1, 0, 0, 8, 0};  
        int count = 1;
        for (int i = 1; i < arr.length; i++) {
            if (count == 0) {
                winner = arr;
                count++;
                continue;
            }
            if(winner == arr){
                count++;
            }else{
                count--;
            }
        }
        System.out.println(winner);
    }
}








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2