黑马程序员-java基础-数组的三种重要操作方法:
2015-07-01 22:45
666 查看
----<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流!----
以下3种操作数组的重要方法,面试有可能会遇到,拿来和大家分享下:
一: 选择排序;
public class Array {
public static void main(String[] args) {
//定义个数组;
int[] arr = {5,7,6,9,1,2,3};
//数组选择排序;
for(int x=0;x<arr.length-1;x++){
for(int y=x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
int temp = arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
}
二: 冒泡排序:
public class Test {
public static void main(String[] args) {
// 定义个数组;
int[] arr = { 5, 7, 6, 9, 1, 2, 3 };
// 数组冒泡排序;
for (int x = 0; x < arr.length-1; x++) {
for(int y = 0; y < arr.length-x-1; y++) {
if (arr[y] > arr[y+1]) {
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}
}
}
三.折半查找;
public class Test {
public static void main(String[] args) {
// 定义个有序的数组;
int[] arr = { 1, 2, 3, 4, 5, 6, 7 };
//传递一个数组 和 一个元素;
int i = getIndex(arr,3);
System.out.println(i);
}
public static int getIndex(int[] arr, int value) {
// 定义个最大索引
int max= arr.length - 1;
// 定义个最小索引
int min = 0;
// 定义一个中间索引
int mid = 0;
while (min<=max) {
mid=(max+min)/2;
if(arr[mid]>value){
<
4000
span style="white-space:pre;">max=mid-1
}else if(arr[mid]<value){
min= mid+1;
}else if(arr[mid]==value){
return mid;
}
return -1;
}
}
}
以下3种操作数组的重要方法,面试有可能会遇到,拿来和大家分享下:
一: 选择排序;
public class Array {
public static void main(String[] args) {
//定义个数组;
int[] arr = {5,7,6,9,1,2,3};
//数组选择排序;
for(int x=0;x<arr.length-1;x++){
for(int y=x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
int temp = arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
}
二: 冒泡排序:
public class Test {
public static void main(String[] args) {
// 定义个数组;
int[] arr = { 5, 7, 6, 9, 1, 2, 3 };
// 数组冒泡排序;
for (int x = 0; x < arr.length-1; x++) {
for(int y = 0; y < arr.length-x-1; y++) {
if (arr[y] > arr[y+1]) {
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}
}
}
三.折半查找;
public class Test {
public static void main(String[] args) {
// 定义个有序的数组;
int[] arr = { 1, 2, 3, 4, 5, 6, 7 };
//传递一个数组 和 一个元素;
int i = getIndex(arr,3);
System.out.println(i);
}
public static int getIndex(int[] arr, int value) {
// 定义个最大索引
int max= arr.length - 1;
// 定义个最小索引
int min = 0;
// 定义一个中间索引
int mid = 0;
while (min<=max) {
mid=(max+min)/2;
if(arr[mid]>value){
<
4000
span style="white-space:pre;">max=mid-1
}else if(arr[mid]<value){
min= mid+1;
}else if(arr[mid]==value){
return mid;
}
return -1;
}
}
}
相关文章推荐
- 黑马程序员——Java基础---线程的另一个总结(3)--互斥,线程锁
- 从其他程序员身上学习,取长补短
- 摘录-IT企业必读的200个.NET面试题-04 字符串、集合和流的使用
- 2015年换工作感想
- 黑马程序员---多线程
- 黑马程序员-java基础-总结的几点问题
- 面试题3 ----二维数组中的查找
- 蛋糕求职记--小时候淘气,长大了淘宝
- 程序员如何快速准备面试中的算法
- 黑马程序员——Java基础---线程的另一个总结(2)--定时器
- 程序员必须知道的8大排序和3大查找
- 黑马程序员——java基础---关键字、常量、变量、运算符
- 面试题
- 黑马程序员-----IO流
- 黑马程序员——Java基础---线程的另一个总结(1)--基本创建方法
- 面试中的优缺点
- 程序员的学习方法【思考】
- 程序员的学习方法【思考】
- 黑马程序员——Java基础---反射
- Java面试 多线程 生产者消费者