Day09_数组(上)
数组有默认的初始值
基本数据类型默认值:
byte: 0
short:0
int: 0
long: 0L
float: 0.0F
double: 0.0
char: 'u0000'
Boolean: false
引用数据类型默认值:
null
增强for循环(foreach循环)
//优点:简单
//缺点:不能进行与索引相关的操作
//scores是数组
int[] scores=new int[10];
scores={12,4,56,7,89,80}
for(int s:){
System.out.println(s);
}
数组的优点缺点
优点:遍历快,查询快
缺点:删除,增加,效率低,原因:需要移动大量的元素
冒泡排序(得名由来)
这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
快速排序
import java.lang.reflect.Array;
import java.util.Arrays;
public class FastSort {
public static void main(String[] args) {
int[] arr={12,4,5,67,34,23,879,46,4,-79,-67};
fastsort(arr,0,arr.length-1);
System.out.println(Arrays.toString(arr));
}
//快速排序方法,三个参数,arr要排序的数组范围是arr[low]-arr[high]
public static void fastsort(int[] arr,int low,int high){
if(low>=high){
return;
}
int i = low;
int j = high;
int key= arr[i];
while(i<j){
while(key<=arr[j]&&i<j){
j--;
}
if (i<j){
int t;
t=arr[j];
arr[j]=arr[i];
arr[i]=t;
}
while(arr[i]<=key&&i<j){
i++;
}
if(i<j){
int t;
t=arr[j];
arr[j]=arr[i];
arr[i]=t;
}
//对key左侧的数组继续操作
fastsort(arr,low,i-1);
//对key右侧的数组继续操作
fastsort(arr,i+1,high);
}
}
}
输出:
[-79, -67, 4, 4, 5, 12, 23, 34, 46, 67, 879]