数组的查询与冒泡排序(二分查询)
来源:互联网 发布:淘宝店铺怎么上传宝贝 编辑:程序博客网 时间:2024/06/17 12:42
数组的学习:
1.数组的查询:如下(注释可能写的有点乱)
package com.qiyu;public class ArrayTest15_数组的查找 {/*** * 2分查找: *待查找的数组必须有序 * @author liu xiaojian */public static int add(int[] x,int y){int low = 0;//第一个下标的位置,low是变量 可变的int high=x.length-1;//最后 的下标位置,high是变量 可变的int m;//下标的位置,可变的while(low<=high){//如果第一个下标low小于等于最后一个小标high,就一直循环m=(low+high)/2;//取得数组中间的下标if(y==x[m]){//要查找的元素是否等于数组下标的那个数return m;//返回下标}if(y>x[m]){//要查找的元素是否大于数组下标的那个数low=m+1;//把中间的下标左边的全部抛弃,取得中间下标的右边的数组//得到的右边的数组第一个数下标的位置}if(y<x[m]){high=m-1;//把中间的下标左边的全部抛弃,取得中间下标的左边的数组//得到的左边的数组最后一个数下标的位置}}return -1;}public static void main(String[] args) {int[] a = new int[]{0,1,2,3,4,5,6,7,8,9,13,14,15,16,18,19};int b = 13;int c = add(a,b);//调用add()方法,接受方法的返回值System.out.println(c);//打印}}
打印结果为: 10
1.数组的冒泡排序:如下例1.例2
例1
public class ArrayTest2_冒泡排序 {public static void main(String[] args) {Scanner sr = new Scanner(System.in);int[] a=new int[10];for(int z = 0;z<a.length;z++){a[z] = sr.nextInt();}int tmp =0;int max=0;for(int z=0;z<a.length-1;z++){ //多少轮for(int j=0;j<a.length-1-z;j++){//每轮的次数if(a[j]>a[j+1]){//tmp=a[j];//a[j]=a[1+j];//a[1+j]=tmp;//不定义另外一个变量进行交换a[j] = a[j]+a[j+1];a[j+1]=a[j]-a[j+1];a[j]=a[j]-a[j+1];}}}for(int y=0;y<a.length;y++){System.out.println(a[y]);}}}
例2:(简单减少代码量)
public class ArrayTest2_冒泡排序2 {public static void main(String[] args) {int[] a = new int[10];Scanner sr = new Scanner(System.in);for(int i = 0;i<10;i++){a[i] =sr.nextInt();}for(int i =0;i<a.length;i++){System.out.print(a[i]+" ");}Arrays.sort(a);//Arrays.sort()排序方法System.out.println();for(int k = 0;k<a.length;k++){System.out.print(a[k]+" ");}}
0 0
- 数组的查询与冒泡排序(二分查询)
- 数组与集合的应用之数组排序与查询(使用冒泡排序法)
- 数组与集合的应用之数组排序与查询(使用选择排序法)
- 数组与集合的应用之数组排序与查询(使用快速排序法)
- 数组与集合的应用之数组排序与查询(使用直接插入法)
- 数组与集合的应用之数组排序与查询(使用Sort方法对数组进行排序)
- 数组与集合的应用之数组排序与查询(反转数组中元素的顺序)
- 二分查找与冒泡排序
- DataTable的查询与排序
- 冒泡,选择,二分查询之java实现
- 单链表冒泡排序与数组冒泡排序
- .NET 冒泡排序 查询出相等的值
- 数组的冒泡排序
- 数组的冒泡排序.
- 数组的冒泡排序
- 数组的冒泡排序
- 数组的冒泡排序
- 数组的冒泡排序
- 算法设计与应用基础: 第五周(1)
- RxJava 第二篇
- 青年歌手大奖赛_评委会打分
- 随机梯度下降算法
- ReflectionBasedAbstractFactory使用杂记
- 数组的查询与冒泡排序(二分查询)
- GYM 100694 I.Goat in the Field(水~)
- Python笔记-初识Python
- Leetcode 15. 3Sum
- 【Android 应用开发】Android 数据存储 之 SQLite数据库详解
- 约瑟夫环问题
- Ubuntu16.04安装配置FastDFS
- Hdu 5256 序列变换【最长不递减序列】
- unity5. Unet同步问题总结