传智基础与加强day06
来源:互联网 发布:java目录遍历漏洞修复 编辑:程序博客网 时间:2024/04/29 04:46
普通排序 冒泡排序
/*要求:对一个长度为10000的数组分别进行普通排序,冒泡排序,函数排序,并比较。思路:1 首先建立一个函数取一个10000长度的随机数组。2 对这个数组分别进行三种排序3 记录三种排序所用时间4 比较3段时间的耗时*/import java.util.*;class Compare {public static void main(String[] args) {//int [] arr=code(10000); //取一个长度为10000的数组 // sort (arr); //bubbling(arr); // api(arr);compare();//System.out.println(Arrays.toString(arr));}public static int [] code(int a) //取数组的函数(随机数据){Random r = new Random();int [] arr=new int [a]; for (int i=0;i<arr.length ;i++ ){arr[i]=r.nextInt(10000);} return arr;}public static void sort(int [] arr) //普通排序的函数{ for (int i=0;i<arr.length-1 ;i++ ) {for (int j=i+1;j<arr.length ;j++ ) {if (arr[i]>arr[j]){int sum=arr[i];arr[i]=arr[j];arr[j]=sum;}} }}public static void bubbling(int [] arr) //冒泡排序算法{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 num =arr[j];arr[j]=arr[j+1];arr[j+1]=num;}}}}public static void api(int [] arr) //函数排序法{Arrays.sort(arr);}public static void compare(){int [] arr=code(10000000); //取一个随机数组long now1 = System.currentTimeMillis();//记录开始时间sort (arr); //普通排序long end1 = System.currentTimeMillis();//记录结束时间long time1 =end1-now1; //用时System.out.println("对长度为10000的数组普通排序用时"+time1+"毫秒");arr=code(10000000); //取一个随机数组long now2 = System.currentTimeMillis();//记录开始时间bubbling(arr); //冒泡排序long end2 = System.currentTimeMillis();//记录结束时间long time2 =end2-now2; //用时System.out.println("对长度为10000的数组冒泡排序用时"+time2+"毫秒");arr=code(10000000); //取一个随机数组long now3 = System.currentTimeMillis();//记录开始时间api(arr); //函数排序long end3 = System.currentTimeMillis();//记录结束时间long time3 =end3-now3; //用时System.out.println("对长度为10000的数组函数排序用时"+time3+"毫秒");long min=time1<time2?time1:time2;min=min<time3?min:time3;System.out.println("对长度为10000的数组排序最少用时"+min+"毫秒");}}
二分法查找
class Demo02 {public static void main(String[] args) {int[] arr = {23,34,45,45,12,1,9};System.out.println(search(arr,45));int[] arr1 = {12,23,34,45,67};System.out.println(searchHalf(arr1,34));}/*返回值类型:int参数:int[] int key 键普通查找*/public static int search(int[] arr,int key){for(int i=0;i<arr.length;i++){if(arr[i]==key){return i;}}return -1;}/*返回值类型:int 角标参数:int[] int*/public static int searchHalf(int[] arr,int key){int min,max,mid=0;min = 0;max = arr.length-1;while(max>=min){mid = (min+max)/2;if(arr[mid]==key){return mid;}else if(key>arr[mid]){min = mid+1;}else if(key<arr[mid]){max = mid-1;}}return -1;}}
二维数组
二维数组[][]
格式1:int[][] arr = new int[3][2];
格式2:int[][] arr = new int[3][];
格式3:int[][] arr = {{3,8,2},{2,7},{9,0,1,6}};
0 0
- 传智基础与加强day06
- 传智基础与加强day02
- 传智基础与加强day03
- 传智基础与加强day04
- 传智基础与加强day05
- 传智基础与加强day07
- 传智基础与加强day08
- 传智基础与加强day09(前段时间复习与回顾)
- day06—oracle基础
- Java基础Day06笔记
- java基础day06
- day06 面向对象基础
- Java基础Day06
- java基础与基础加强反射/注解
- 黑马程序员_java基础day06
- 黑马程序员--Java基础Day06
- Java基础Day06课后考试
- 安卓基础DAY06 笔记
- STL基本算法
- centOS6 nginx环境配置
- FragmentTabHost+Fragment+ViewPager实现内外层嵌套Tab
- 猜数字游戏的实现
- 如何在ubuntu下编译dolphin-player所用的libffmpeg.so
- 传智基础与加强day06
- 程序员面试揭秘之求职渠道
- 好用的java反编译工具
- office word 2010版本中标题编号怎么设置
- Hibernate的关联关系中lazy和fetch的设置
- openwrt 中继2
- ofbiz数据库表结构设计
- Linux环境下通过c代码获取本机IP
- 使用kernel-package编译内核imgage包