数组(冒泡排序,选择排序,二分查找,最大最小值,反转,录入互不相同的数字)
2019-01-17 20:28
411 查看
冒泡排序
[code]//冒泡排序 for(int i=0;i<array.length;i++) { for(int j=0;j<array.length-i-1;j++) { if(array[j]>array[j+1]) { int temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } } }
选择排序
[code]//选择排序 for (int i = 0; i < array.length; i++) { for (int j = i; j < array.length; j++) { if(array[i]<array[j]) { int temp = array[i]; array[i] = array[j]; array[j] = temp; } } }
二分查找
[code]//二分查找 public static void serch(int[] array,int number) { int minIndex = 0; int maxIndex = array.length-1; int midIndex = (minIndex+maxIndex)/2; while(number!=array[midIndex]) { if(number<array[midIndex]) { maxIndex = midIndex-1; }else if(number>array[midIndex]) { minIndex = midIndex+1; } midIndex = (minIndex+maxIndex)/2; if(minIndex>maxIndex) { System.out.println(number+"在数组中没找到!"); break; } } if(number==array[midIndex]) System.out.println(number+"在数组中找到了,位于数组中的第"+(midIndex+1)+"位。"); }
最大值
[code]//最大值 public static int max(int[] array) { int max = array[0]; for (int i=1; i< array.length; i++) { if(array[i]>max) { max = array[i]; } } System.out.println("数组的最大值:"+max); return max; }
最小值
[code]//最小值 public static int min(int[] array) { int min = array[0]; for (int i=1; i< array.length; i++) { if(array[i]<min) { min = array[i]; } } System.out.println("数组的最小值:"+min); return min; }
反转数组
[code]//反转数组 public static void fanzhuan(int[] array) { for (int i = 0; i < array.length/2; i++) { int temp = array[i]; array[i] = array[array.length-1-i]; array[array.length-1-i] = temp; } //String str = Arrays.toString(array); //System.out.println(str); }
录入不同的数字
[code]//给数组录入互不相同的数字 Scanner sc = new Scanner(System.in); System.out.println("输入10个整数.."); int[] intArray = new int[10]; for(int i = 0;i<intArray.length;i++) { boolean flag = true; System.out.print("请输入第"+(i+1)+"个数:"); //接受控制台输入的数 int input = sc.nextInt(); //判断数组中是否有该数字 for (int j : intArray) { if(j==input) { flag = false; } } //如果falg为真,说明数组中没有该数字,将该数字录入数组 if(flag) { intArray[i] = input; } } //遍历数组 for (int i : intArray) { System.out.println(i); }
相关文章推荐
- 数组 获取最值(最大值 最小值)选择排序 冒泡排序 快速排序 半查找(二分查找) 十进制转其他进制法
- 关于数组的几个小题目-冒泡排序、二分查找、直接选择排序、反转数组
- 数组的遍历,获取最大值,数组的反转,数组中元素的查找、冒泡排序、选择排序、折半查找法
- 数组的遍历,获取最大值,数组的反转,数组中元素的查找、冒泡排序、选择排序、折半查找法
- Java数组遍历、求最大值、选择排序、冒泡排序、二分查找
- java的 最大值 选择排序 冒泡排序 二分查找
- 定义一个数组工具类!数组选择排序、冒泡排序、获取最大、最小值!
- Java数据结构-数组(二分查找、冒泡排序、选择排序、插入排序)
- 剑指offer--面试题53 在排序数组中查找数字(二分)
- (算法:二分查找)在排序数组中,找出给定数字出现的次数
- 选择排序、冒泡排序、二分查找
- C 语言 排序算法,冒泡排序,选择排序,插入排序,二分查找
- java第十一天---Scanner类及其方法,String类,StringBuffer类,数组高级算法(冒泡排序、选择排序、直接插入排序,快速排序即二分法查找)
- 经典算法:二分查找、插入排序、选择排序、冒泡排序
- 二分查找--数字在排序数组中出现的次数
- 二分查找的变形,统计数字在排序数组出现的次数
- 九度OJ 1349 数字在排序数组中出现的次数 -- 二分查找
- 1.数组--最大值 2.数组--选择排序与图解 3.数组--冒泡排序图解 4.数组--1.自带排序2.遍历功能方便 5.数组-常见操作-排序位置置换代码提取
- Java选择排序、冒泡排序、直接插入排序与二分查找
- 经典算法:二分查找、插入排序、选择排序、冒泡排序