数据结构
java中的内存是怎么进行分配的?
内存的申请和释放都是jvm进行管理的,java程序要运行,jvm会自动的向电脑申请一块内存,
把这块内存分为5部分:
1.栈(Stack):主要存放局部变量(重点)
2.堆(Heap):凡是new出来的东西都在堆里面,堆当中的数据都有默认原则:(重点)
整数 0 小数 0.0 布尔:false char:空格 引用数据类型:null
3.方法区(Method Area):存放的是与.class相关的信息
4.本地方法区(Native Method Area):与操作系统有关
5.寄存器(Register):与cup有关
排序
冒泡排序
/**
* 冒泡排序(重点)
*
* 口诀(升序)
* n个数字来排队
* 两两相比小靠前
* 外层循环n-1
* 内层循环n-1-i
*
*/
public static void main(String[] args) {
//从大到小
int[] array={76,3,234,90,6,78,1,-1};
//外层循环控制趟数
for(int i=0;i<array.length-1;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;
}
}
}
for(int num:array){
System.out.println(num);
}
}
选择排序
public static void main(String[] args) {
int[] num={25,4,56,122,2};
//使用选择排序实现小到大排列
for(int i=0;i<num.length-1;i++){
for(int j=i;j<num.length;j++){
if(num[i]>num[j]){
int temp=num[i];
num[i]=num[j];
num[j]=temp;
}
}
}
for(int n:num){
System.out.println(n);
}
}