当前位置: 首页 > wzjs >正文

高端科研网站设计网站做会员系统

高端科研网站设计,网站做会员系统,网站转app免费,wordpress安装到虚拟主机1.冒泡排序 2.Arrays.sort 使用 3.二分查找 4.数组的拷贝 --- Arrays.copyOf 5.数组逆序输出 6.二维数组 1.冒泡排序 让一个乱序的数组排序为升序 ---- 如果前一个数比后一个数大,那么就交换,所以最大的数一定是在最右边,下面是我实现…

1.冒泡排序

2.Arrays.sort 使用

3.二分查找

4.数组的拷贝 --- Arrays.copyOf

5.数组逆序输出

6.二维数组


1.冒泡排序

让一个乱序的数组排序为升序  ---- 如果前一个数比后一个数大,那么就交换,所以最大的数一定是在最右边,下面是我实现冒泡排序的代码:

public static void bubbleSort(int[] array) {for(int i = 0; i < array.length - 1; ++i) {boolean flag = true;for(int j = 0; j < array.length - 1 - i; ++j) {//如果前一个数比后一个数大 --- 交换if(array[j] > array[j + 1]) {int tmp = array[j];array[j] = array[j + 1];array[j + 1] = tmp;flag = false;}}if(flag) {break;//如果没有进行交换,说明整个数组已经是有序的,那么直接退出}}}public static void main(String[], args) {int[] array = new int[]{2,3,5,4,1,6,10,9,8,7};bubbleSort(array);String ret = Arrays.toString(array);System.out.print("array = ");System.out.println(ret);}

2.Arrays.sort的使用

在Java当中为我们提供了关于数组排序的算法方法,因为冒泡排序的效率低,而且在开发过程中我们要提高我们的开发效率,所以我们可以直接使用Arrays.sort提高我们的效率

public static void main(String[] args) {int[] array = new int[]{2,4,1,3,5,8,6,5,10,9};Arrays.sort(array);//使用sort进行排序String ret = Arrays.toString(array);System.out.println(ret);
}

3.二分查找

二分查找,我们需要每次取到中间元素,然后和我们要查找的目标target进行比较,然后移动我们的left或者right,然后不断的取中间元素,进行比较,最终的元素就可以被我们查找到,因为我们每次都砍一半进行查找,所以对于普通的全局遍历查找的效率会快很多

public static int binarySearch(int[] array, int target) {int left = 0;int right = array.length - 1;while(left <= right) {int mid = (left + right) / 2;  //拿到中间元素的下标//进行比较if(array[mid] < target) {left = mid + 1;} else if(array[mid] == target) {return mid;} else {right = mid - 1;}}return -1;}public static void main(String[] args) {int[] array = new int[]{1,2,3,4,5,6,7,8,9,10};int ret = binarySearch(array, 8);System.out.println(ret);}

4.数组的拷贝 --- Arrays.copyOf

下面我会进行手动拷贝和使用Java为我们提供的方法Arrays.copyOf俩种方法,在效率和开发上,当然是Java为我们提供的方法更好用,下面就可以看到他的优点

手动拷贝:

public static void main18(String[] args) {int[] array1 = new int[]{1,2,3,4,5,6,7,8,9,10};int [] array2 = new int[array1.length];for(int i = 0; i < array1.length; i++) {array2[i] = array1[i]; // 拷贝}String ret1 = Arrays.toString(array1);String ret2 = Arrays.toString(array2);System.out.print("array1 = ");System.out.println(ret1);System.out.print("array2 = ");System.out.println(ret2);}

Arrays.copyOf

public static void main(String[] args) {int[] array1 = new int[]{1,2,3,4,5,6,7,8,9,10};int[] array2 = Arrays.copyOf(array1, array1.length);//这里传参要传拷贝的目标和拷贝目标的长度String ret1 = Arrays.toString(array1);String ret2 = Arrays.toString(array2);System.out.print("array1 = ");System.out.println(ret1);System.out.print("array2 = ");System.out.println(ret2);
}

Arrays.copyOf也可以指定拷贝的区间,不过要注意区间是[ )

在指定区间拷贝的话,要使用Arrays.copyOfRange

public static void main(String[] args) {int[] array1 = new int[]{1,2,3,4,5,6,7,8,9,10};int[] array2 = Arrays.copyOfRange(array1,3,7); // 这里的区间为[3,7)String ret = Arrays.toString(array2);System.out.print("array2 = ");System.out.println(ret);}

5.数组逆序输出

数组逆序,我们可以想到把头和尾俩个元素交换即可,用一个while循环就可以搞定

public static void main(String[] args) {int[] array = new int[]{1,2,3,4,5,6,7,8,9,10};int left = 0;int right = array.length - 1;while(left < right) {//交换过程int tmp = array[left];array[left] = array[right];array[right] = tmp;left++;right--;}String ret = Arrays.toString(array);System.out.print("array = ");System.out.println(ret);}

6.二维数组

在Java中二维数组其实和C语言区别不大,可以说没什么区别,就是一个二维的一维数组拼接起来,本质上也是一维数组,但是相较于C语言,Java中的二维数组可以省略列,但是不可以省略行,而C语言恰恰相反,C语言的二维数组不可以省略列,可以省略行,下面是在Java中对于二维数组的写法:

public static void main(String[] args) {//第一种方法int[][] array1 = new int[][]{{1,2,3,4,5},{6,7,8,9,10}};//第二种方法int[][] array2 = {{1,2,3,4,5},{6,7,8,9,10}};//第三种方法int[][] array3 = new int[2][];//行不可以省略,但是列可以省略//打印System.out.println("array1 :");for(int i = 0; i < array1.length; i++) {for(int j = 0; j < array1[i].length; j++) {System.out.print(array1[i][j] + " ");}System.out.println();}System.out.println("array2 :");for(int i = 0; i < array1.length; i++) {for(int j = 0; j < array1[i].length; j++) {System.out.print(array1[i][j] + " ");}System.out.println();}System.out.println("array3 :");for(int i = 0; i < array1.length; i++) {for(int j = 0; j < array1[i].length; j++) {System.out.print(array1[i][j] + " ");}System.out.println();}}

不规则二维数组

在我们第三种创建数组的方法中,第三种创建的数组是一种不规则的二维数组,应为我们在初始化的时候并没有确定具体的行数列数,所以它是一种不规则的,对于没有初始化的数组,默认初始化为0

    public static void main(String[] args) {int[][] array = new int[3][];//确定了行数为3,但是没有确定列array[0] = new int[3];//意思是第1行有3列array[1] = new int[5];//意思是第2行有5列array[2] = new int[2];//意思是第3行有2列//在打印一位数组的时候我们可以使用Arrays.toString//而我们在打印二维数组的时候需要使用deepToStringString ret = Arrays.deepToString(array);System.out.println(ret);}

http://www.dtcms.com/wzjs/564701.html

相关文章:

  • 论坛网站推广方案小程序免费制作网站
  • 友链网站张家港专业做网站
  • 自己做响应式网站难吗如何判断网站是否被收录
  • 济南网站制作推广点赞排行 wordpress 主题
  • 什么网站可以做兼职贵州企业seo
  • 网页技术与网站开发分析报告重庆建设工程造价信息总站
  • 郑州网站建设模板鹤壁做网站多少钱
  • 唐山做网站汉狮网络博敏网站建设
  • 好的app设计网站360建站工具
  • 做网站在后台如何添加链接保山市住房和建设局网站
  • 优度网站建设个人网页在线制作
  • 企业型网站建设咨询电话网页打不开视频怎么办
  • 广州市网站网页制作公司wordpress账号创建
  • 自助餐火锅网站建设招聘网站开发需要多长时间
  • 梧州网站建设哪家好外贸seo网站推广公司
  • 做网站那个平台搜狗登录入口
  • 百度搜索开放平台上海全国关键词排名优化
  • 怎么查公司网站可信度会设计网站怎么做兼职
  • 重庆网站建设接重庆零臻科技智慧团建官方网站
  • 门户型网站建设方案做h5的软件有哪些
  • 免费的软件网站工业互联网平台体系
  • 中国最大的网站建设公司济南网站制作哪家专业
  • 自己怎么设置会员网站杭州建设网站的公司哪家好
  • 南宁网站seo建设银行个人网站打不开
  • 福州 福马路 网站建设外语网站建设
  • 网站页脚信息微网站建设图片
  • html5大气网站辽宁省建设科学研究院网站
  • 天猫优惠券网站怎么做的免费简历模板下载word可编辑
  • 模板网站如何做优化做网站怎么才会被百度收录
  • 网站再就业技能培训班中国消防公众号关注