小白日记之一维数组

数组是一个存储数据的工具,可以用来帮我们存储东西。

数组需要声明并创建,之所以需要创建,我认为应该是需要系统在内存中分配空间,毕竟数组是一个存储数据的工具,需要空间。数组会在内存中开辟一个连续的空间。

public static void main(String[] args) {

int[] arr = new int[5];

for(int i=0;i<5;i++) {

arr[i] = i+1;

System.out.println("第"+(i+1)+"个元素的值为"+arr[i]);

}

}

增强型for循环,适合配合数组使用的for循环。在括号中只有两个两个表达式,跟普通的for表达式不同的是中间用冒号隔开,普通的for循环使用分号。第一个表达式跟普通的for循环不一样的地方是定义一个变量,并且不给他初始化。第二个表达式干脆是数组的名字。

public static void main(String[] args) {

int[] arr = new int[5];

Scanner sc = new Scanner(System.in);

for(int x=0;x<arr.length;x++) {

System.out.println("请输入数组的元素");

arr[x] = sc.nextInt();

}

System.out.println("数组的元素内容为");

for(int n:arr) { //此为增强型for循环。

System.out.print(n+" ");

}

int sum = 0;

for(int z=0;z<arr.length;z++) {

sum = arr[z] + sum;

}

System.out.println("");

System.out.println("数组的和为"+sum);

}

冒泡排序,总的来讲就是通过比大小的方式把来把元素进行有序排列。本身不难,难的是写出空间复杂度和时间复杂杜都比较好的冒泡排序。

int[] a = {34,53,12,32,56,17};

System.out.println("排序前的数组元素为");

for(int x:a) {

System.out.print(x+" ");

}

System.out.println();

int temp;

for(int i=0;i<a.length-1;i++) {//外重循环控制循环的次数

for(int j=0;j<a.length-1-i;j++) {

if(a[j]>a[j+1]) {

temp = a[j];

a[j] = a[j+1];

a[j+1] = temp;

}

}

}

for(int y:a) {

System.out.print(y+ " ");

}

}

冒泡排序,两两排序,外重循环最多执行5次,内重循环比外重循环次数小。并且每次循环都比之前的循环次数更少。

相关推荐
Omigeq11 分钟前
1.4 - 曲线生成轨迹优化算法(以BSpline和ReedsShepp为例) - Python运动规划库教程(Python Motion Planning)
开发语言·人工智能·python·算法·机器人
成为大佬先秃头31 分钟前
前后分离项目:整合JWT+Shiro
java·springboot·shiro·jwt
网络工程小王33 分钟前
【大模型(LLM)的业务开发】学习笔记
人工智能·算法·机器学习
y = xⁿ35 分钟前
【Leet Code 】滑动窗口
java·算法·leetcode
WBluuue37 分钟前
数据结构与算法:二项式定理和二项式反演
c++·算法
nianniannnn38 分钟前
力扣104.二叉树的最大深度 110. 平衡二叉树
算法·leetcode·深度优先
day day day ...1 小时前
MyBatis条件误写引发的查询条件污染分析与防范
java·服务器·tomcat
_深海凉_1 小时前
LeetCode热题100-只出现一次的数字
算法·leetcode·职场和发展
hrhcode1 小时前
【java工程师快速上手go】一.Go语言基础
java·开发语言·golang
nianniannnn1 小时前
力扣206.反转链表 92.反转链表II
算法·leetcode·链表