云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > day05总结

day05总结

  • 62 次阅读
  • 3 次下载
  • 2025/12/10 23:26:35

Day05 上午:

1、数组的静态初始化

多种定义格式:

Int[] arr=new int[]//标准格式,可以明确数组的数据类型,和数组名,但是不知道数组的长度

Int arr[]=new int[]

Int[] arr=new int[]{2,1,3,4,5,}//通过大括号可以标示出数组中的内容,此处最好别写长度,因为容易出错,因为即初始化实体,又初始化实体中的元素。

Int[] arr={2,1,3,4,5};//可以明确数组的数据类型,和数组名,也可以知道数组中的内容。 2、arr.length:方便获取数组中的元素个数的方式。 3、操作数组的最基础的思想以及核心思想:

a) 最基础的思想:就是遍历。什么是遍历。

Eg:int[] arr = new int[3]; int[] arr = {4,8,9,2,6,9};//明确了数组的类型和长度,并明确了数组中元素的内容。

// int[] arr1 = new int[]{4,8,9}; //方便获取数组中的元素个数的方式,可以使用数组实体一个属性。length System.out.println(\ for(int x=0; x

这就是遍历的思想,获取数组中的元素,通常会用到遍历。

b)核心思想:就是操作数组中元素的角标,角标即索引,因为存数据的最终目的就是取出数据使用,就是操作角标,操作动作:1、给数组角标上的元素赋值,2、获取角标上元素的值,存储都得用角标

4、数组中常见的操作:

a) 获取最值:

思路:

1、首先我们要定义一个功能完成获取数组中最大值的动作;

2、定义个函数来实现这一功能;明确结果,整数数组中的最大值,int,明确是否有未知内容参与运算,参数列表中有一个参数,数组类型int[],一定要注意这里是数组类型,不是int型;

3、如何实现功能细节呢?

1、对数组中的元素进行比较,将比较后比较大的值进行记录,并参与下一次比较,当数组中的元素都比较完成后,最大值就已经被记录下来了。

2、每次比较的较大的值不确定,定义一个变量进行记录,该变量如何初始化呢?只要初始化为数组中的人一个元素即可。

3、应该让数组中的元素自动和该变量记录的元素进行比较,所以可以使用遍历,获取数组中的每一个元素。

4、当遍历到元素比较变量中的记录的元素大,用该变量记录住更大的元素。

5、遍历结束后,变量存储就是数组中的最大值。 实现代码:eg:

Public static int getMax(int arr) {

/.定变量记录较大的值;

Int max=arr[0];//初始化数组中的任意个元素; //对数组进行遍历比较

For(int x=1;x

If(arr[x]>max)

Max=arr[x];

}

Return max; }

同样有另外一种方式获取最大值 Public static int getMax(int[] arr) {

Int maxIndex=0;//初始化为数组中一个元素的角标 For(int x=1;x

If(arr[x]>arr[maxIndex])

maxIndex=x;

}

Return arr[maxIndex]; }

b) 排序:

1、选择排序:

首先通过数组中元素的比较方式来分析:

用数组中第一个角标的元素与数组中第二个角标的元素进行比较,发现9比6大,进行位置置换,此处应该定义一个三方变量,用来记录住置换过程的元素值,

然后再用第一个角标的元素与下一个角标元素进行比较,按照全面的原则进行置换位置,如果前者小于后者,则不置换位置,一次比较,当第一轮结束之后第一个角标出能取的该数组中最小的元素的值,然后再用第一个角标的元素开始和下一个角标的元素进行比较,同理,当第二轮结束后,第二个角标处获取了该数组中的第二小的值。所以我们发现当依次这样比较下去,就可以对数组中的元素进行排序,当比较到arr.length-1元素时,发现只剩下这一个元素,没有其他元素和它进行比较了。 思路:

1、首先定义一个功能函数对数组进行排序,

2、明确结果,没有返回值,因为它只是对数组进行排序的一个动作,明确是否有未知内容参与运算,有,数组类型int[] arr

实现代码:

Public static void selectSort(int[] arr) {

For(int x=0;x

For(int y=x+1;yarr[y])

{

Int temp=arr[x]; Arr[x]=arr[y]; Arr[y]=temp; } } } }

优化后的选择排序:

从上面的排序图中我们可以知道,对数组中元素进行置换位置的次数过多,也就是对堆内存的操作频繁,降低了性能,下面我们可以通过这种方式对性能优化。

思路:

在栈内存中我们定义两个变量,分别用来记录较小的元素的值和较小元素的角标,

然后对其进行初始化,至于初始化的值只要是数组中的任意元素即可,然后拿数组中的元素与它进行比较,如果发现拿去比较的元素比变量中记录的数值要小,那么就进行位置置换,并记录下较小的元素的角标,依次把数组中的元素遍历完,就可以获取数组中的最小元素的值和角标,然后我们拿初始化的值和获取的最小的元素进行位置的置换,这样以来当我们获取了数组中的元素的最小的时候,堆内存中的只用操作一次位置即可,这样的就提高性能。 实现代码:

Public static void selectSort_2(int[] arr) {

For(int x=0;x

Int num=arr[x]; Int index=x;

For(int y=x+1;y

If(num>arr[y])

Num=arr[y]; Index=y;

}

If(index!=x) {

int temp = arr[x]; arr[x] = arr[index]; arr[index] = temp; } } }

注意:复习的时候添加注释

2、冒泡排序:

首先通过排序方式来分析其步骤:

搜索更多关于: day05总结 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

Day05 上午: 1、数组的静态初始化 多种定义格式: Int[] arr=new int[]//标准格式,可以明确数组的数据类型,和数组名,但是不知道数组的长度 Int arr[]=new int[] Int[] arr=new int[]{2,1,3,4,5,}//通过大括号可以标示出数组中的内容,此处最好别写长度,因为容易出错,因为即初始化实体,又初始化实体中的元素。 Int[] arr={2,1,3,4,5};//可以明确数组的数据类型,和数组名,也可以知道数组中的内容。 2、arr.length:方便获取数组中的元素个数的方式。 3、操作数组的最基础的思想以及核心思想: a) 最基础的思想:就是遍历。什么是遍历。 Eg:int[] arr = new int[3

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com