黑马程序员——自学笔记5(数组及其排序)
2012-09-25 14:18
281 查看
-----------
android培训、java培训、java学习型技术博客、期待与您交流! ------------
数组:
格式一:元素类型[] 数组名=new元素类型[元素个数,即数组长度,不填,默认为整型为零,double位0.0,float为f]
格式二:元素类型[] 数组名=new 元素类型[元素1,元素2,…,元素n]
格式三:int arr[]=new int[2]
数组遍历:
int[] arr=new int[1,2,3];
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
选择排序:
int[] arr={2,1,7,6,89,4};
int num;
for (int i = 0; i <arr.length-1; i++) {
for (int j = i+1; j< arr.length; j++) {
if (arr[i]>arr[j]) {
num=arr[i];
arr[i]=arr[j];
arr[j]=num;
}
}
}
折半查找:针对有序数组
第一种方法:
int halfSearch(int[] arr,int key){
int min,max,mid;
while(arr[mid]!=key){
if(arr[mid]<key){
min=mid+1;
}else if(arr[mid]>key){
max=mid-1;
}
if(min>max)
return -1;
mid=min+max/2;
}
return mid;
}
第二种方法:
int min=0,max=arr.length-1,mid;
while(min<=max){
mid=(max+min)/2;
if(key>arr[mid]){
min=mid+1;
}else if(arr[mid]>key){
max=mid-1;
}
else
return mid;
}
ruturn -1;
二维数组:默认各元素为null
格式:1.int[] arr=new int[3][4];//有3个一维数组,每个数组4个元素
2.int[] arr=new int[3][];
3. int[] arr={{3,5,1,7},{2,3,5,8},{6,1,8,23}};
-----------
android培训、java培训、java学习型技术博客、期待与您交流! ------------
android培训、java培训、java学习型技术博客、期待与您交流! ------------
数组:
格式一:元素类型[] 数组名=new元素类型[元素个数,即数组长度,不填,默认为整型为零,double位0.0,float为f]
格式二:元素类型[] 数组名=new 元素类型[元素1,元素2,…,元素n]
格式三:int arr[]=new int[2]
数组遍历:
int[] arr=new int[1,2,3];
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
选择排序:
int[] arr={2,1,7,6,89,4};
int num;
for (int i = 0; i <arr.length-1; i++) {
for (int j = i+1; j< arr.length; j++) {
if (arr[i]>arr[j]) {
num=arr[i];
arr[i]=arr[j];
arr[j]=num;
}
}
}
折半查找:针对有序数组
第一种方法:
int halfSearch(int[] arr,int key){
int min,max,mid;
while(arr[mid]!=key){
if(arr[mid]<key){
min=mid+1;
}else if(arr[mid]>key){
max=mid-1;
}
if(min>max)
return -1;
mid=min+max/2;
}
return mid;
}
第二种方法:
int min=0,max=arr.length-1,mid;
while(min<=max){
mid=(max+min)/2;
if(key>arr[mid]){
min=mid+1;
}else if(arr[mid]>key){
max=mid-1;
}
else
return mid;
}
ruturn -1;
二维数组:默认各元素为null
格式:1.int[] arr=new int[3][4];//有3个一维数组,每个数组4个元素
2.int[] arr=new int[3][];
3. int[] arr={{3,5,1,7},{2,3,5,8},{6,1,8,23}};
-----------
android培训、java培训、java学习型技术博客、期待与您交流! ------------
相关文章推荐
- 黑马程序员--C语言自学笔记---08数组
- 黑马程序员--C语言自学笔记---09排序、查找、迷宫、字符串
- 黑马程序员--.NET笔记--枚举、数组、排序、方法、变量的作用域、重载
- 自学PHP的笔记(六)注释标记数组排序
- 黑马程序员--学习笔记-- Java中常见的数组排序方式(一)
- java自学笔记之数组 排序
- 黑马程序员自学笔记————对于TreeSet实现排序的两种方法;
- 黑马程序员——Java学习笔记——数组的排序和查找
- 黑马程序员--05JAVA数组及其排序和查找
- 黑马程序员——自学笔记10(多线程及其创建方法)
- 黑马程序员--C语言自学笔记---11数组、指针、推箱子小游戏
- 黑马程序员_数组及其排序查找操作
- 黑马程序员--OC自学笔记---07@property使用之电商app练习
- 黑马程序员-学习枚举、结构体和数组的笔记
- 【Java自学笔记系列:数组】
- 黑马程序员------Objective-C------常见数组排序总结
- 黑马程序员------第7天笔记(包和数组)
- PHP学习笔记【12】--PHP数组排序
- 黑马程序员--自学笔记--IO流(其二)
- 黑马程序员—Java基础学习笔记之排序算法:选择排序&冒泡排序