Java数组以及数组的遍历和排序算法

慈云数据 2023-03-15 行业资讯 749 30

数组(Array) 定义:同一类型数据的集合。

数组按用途可分为一维数组、二维数组和多维数组。

1、数组的定义:

在Java中,关键字new用于创建数组对象,在声明数组的同时分配内存空间。 定义数组的三种方式:

方法一(推荐,可以更好的指明数组类型)

type[] 变量名 = new type[数组中元素的个数];

例如:

int[] a = new int[10];

数组名,即引用a,指向数组元素的首地址。

方法二(同C语言

类型变量名[] = 新类型[数组中元素的个数];

喜欢:

int a[] = new int[10];

方法三:定义时直接初始化

type[] 变量名 = new type[]{逗号分隔的初始化值};

其中new type[]可以省略,所以有两种:

int[] a = {1,2,3,4};

int[] a = new int[]{1,2,3,4};

上面的int[] a = new int[]{1,2,3,4}中java string转list集合,list集合转成数组,第二个方括号中不能加上数组的长度,因为元素个数是由后面大括号的内容决定的大括号。

数组的元素通过索引访问。 数组索引从0开始,所以索引值是从0到array.-1(array.是数组的长度,上例中a是数组)。

2.数组操作

① 作业:

以下语句首先声明一个数组变量,然后创建一个包含 10 个该类型元素的数组,并将其引用分配给该变量。

班级 {

void main([] args){

// 数组大小

= 10;

// 定义数组

[] = 新的 [尺寸];

[0] = 5.6;

[1] = 4.5;

[2] = 3.3;

[3] = 13.2;

[4] = 4.0;

[5] = 34.33;

[6] = 34.0;

[7] = 45.45;

[8] = 99.993;

[9] = 11123;

// 计算所有元素的总和

总计 = 0;

for(inti = 0; i < size; i++){

总计 += [i];

}

.out.("总和为:" + total);

}

}

下图描述了数组。 这里数组中有 10 个元素,下标从 0 到 9。

java list转string_java string转list集合,list集合转成数组_java字符串转list集合

②循环数组(遍历):

数组的元素类型和数组的大小是确定的,所以在处理数组元素时,我们通常使用基本的循环或循环。

使用基本循环创建、初始化和操作数组:

班级 {

void main([] args){

[] = {1.9, 2.9, 3.4, 3.5};

// 打印所有数组元素

for(inti = 0; i < .; i++){

.out.([i] + "");

}

// 计算所有元素的总和

= 0;

for(inti = 0; i < .; i++){

总计 += [i];

}

.out.("总计为" + 总计);

// 找到最大的元素

= [0];

for(inti = 1; i < .; i++){

如果([i] > 最大值){

最大值 = [i];

}

}

.out.("最大值为" + 最大值);

}

}

对于循环,可以在没有下标的情况下迭代数组:

班级 {

void main([] args){

[] = {1.9, 2.9, 3.4, 3.5};

// 打印所有数组元素

为了( : ){

。出去。();

}

}

}

③数组排序(介绍几种常用的排序方法):

1、冒泡排序(依次比较两个相似的数,提取最大值或最小值进行排序)

空白 () {

int a[]={32,87,3,58,12,70,20,8,62,17};

整数 n = a.;

对于 (int i = 0; i < n - 1; i++) {

对于 (int j = 0; j < n - 1; j++) {

如果 (a[j] > a[j + 1]) {

int temp = a[j];

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

a[j + 1] = 温度;

}

}

}

对于(int c:a){

.out.(c);

}

}

2、选择排序(每次比较第一个数和后面的数,保存最大值的下标java string转list集合,list集合转成数组,然后调换位置进行排序)

空白 () {

int a[]={32,87,3,58,12,70,20,8,62,17};

整数 n = a.;

对于 (int i = 0; i < n - 1; i++) {

整数索引=我;

对于 (int j = i+1; j < n ; j++) {

如果(a[索引] < a[j]){

指数 = j;

}

}

如果(索引!=我){

int temp = a[i];

a[i] = a[索引];

a[索引] = 温度;

}

}

对于(int c:a){

.out.(c);

}

}

3.插入排序(将当前待排序的元素插入到一个已排序的列表中。一个很形象的例子是右手抓起一张扑克牌,插入到左手拿着的已排序的扑克牌中。插入的最差运行时间sort是O(n2),所以不是最优排序算法。它的特点是简单,不需要额外的存储空间,在元素少的时候效果很好)

空白 () {

int a[]={32,87,3,58,12,70,20,8,62,17};

整数 n = a.;

对于 (int i = 1; i < n; i++) {

//将a[i]插入a[0:i-1]

int t = a[i];

诠释j;

对于 (j = i - 1; j >= 0 && t < a[j]; j--) {

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

}

a[j + 1] = t;

}

对于(int c:a){

.out.(c);

}

}

4.另一种方式是直接使用.sort()方法进行排序

无效排序(){

int a[]={32,87,3,58,12,70,20,8,62,17};

排序(一);

对于(int c:a){

.out.(c);

}

}

评论列表

计);// 找到最大的元素= [0];for(inti = 1; i < .; i++){如果([i] > 最大值){最大值 = [i];}}.out.("最大值为&quo
2023-03-16 07:15:34 回复
= new type[]{逗号分隔的初始化值};其中new type[]可以省略,所以有两种:int[] a = {1,2,3,4};int[] a = new int[]{1,2,3,4};上面的int[] a = new int[]{1,2,3,4}中java strin
2023-03-16 07:04:41 回复
行排序无效排序(){int a[]={32,87,3,58,12,70,20,8,62,17};排序(一);对于(int c:a){.out.(c);}}
2023-03-16 06:35:54 回复
5.6;[1] = 4.5;[2] = 3.3;[3] = 13.2;[4] = 4.0;[5] = 34.33;[6] = 34.0;[7] = 45.45;[8] = 99.993;[9] = 11123;// 计算所有元素的总和总计 = 0;for(int
2023-03-15 21:44:45 回复
234
然后调换位置进行排序)空白 () {int a[]={32,87,3,58,12,70,20,8,62,17};整数 n = a.;对于 (int i = 0; i < n - 1; i++) {整数索引=我;对于 (int j = i+1; j < n ; j++) {
2023-03-16 03:32:21 回复
,8,62,17};整数 n = a.;对于 (int i = 1; i < n; i++) {//将a[i]插入a[0:i-1]int t = a[i];诠释j;对于
2023-03-16 04:27:22 回复
的总和= 0;for(inti = 0; i < .; i++){总计 += [i];}.out.("总计为" + 总计);// 找到最大的元素= [0];
2023-03-15 23:51:29 回复
j++) {如果(a[索引] < a[j]){指数 = j;}}如果(索引!=我){int temp = a[i];a[i] = a[索引];a[索引] = 温度;}}对于(in
2023-03-16 05:25:05 回复
([] args){[] = {1.9, 2.9, 3.4, 3.5};// 打印所有数组元素for(inti = 0; i < .; i++){.out.([i] + "");}// 计算所有元素的总和= 0;for(inti = 0; i <
2023-03-16 04:39:22 回复
= t;}对于(int c:a){.out.(c);}}4.另一种方式是直接使用.sort()方法进行排序无效排序(){int a[]={32,87,3,58,12,70,20,8,62,17};
2023-03-15 22:24:30 回复
对于 (int i = 1; i < n; i++) {//将a[i]插入a[0:i-1]int t = a[i];诠释j;对于 (j = i - 1; j
2023-03-15 21:29:47 回复
t()方法进行排序无效排序(){int a[]={32,87,3,58,12,70,20,8,62,17};排序(一);对于(int c:a){.out.(c);}}
2023-03-16 06:41:42 回复
= 34.0;[7] = 45.45;[8] = 99.993;[9] = 11123;// 计算所有元素的总和总计 = 0;for(inti = 0; i < size; i++){总计 += [
2023-03-16 02:49:57 回复
作业:以下语句首先声明一个数组变量,然后创建一个包含 10 个该类型元素的数组,并将其引用分配给该变量。班级 {void main([] args){// 数组大小= 10;// 定义数组[] = 新的 [尺寸];[0] = 5.6;[1] = 4.5;[2] = 3.3;
2023-03-15 23:32:43 回复
数组,并将其引用分配给该变量。班级 {void main([] args){// 数组大小= 10;// 定义数组[] = 新的 [尺寸];[0] = 5.6;[1] = 4.5;[2] = 3.3;[3] = 13.2;[4] =
2023-03-15 21:25:02 回复
; j < n - 1; j++) {如果 (a[j] > a[j + 1]) {int temp = a[j];a[j] = a[j + 1];a[j + 1] = 温度;}}}对于(int c:a){.
2023-03-16 02:11:11 回复
数组(Array) 定义:同一类型数据的集合。数组按用途可分为一维数组、二维数组和多维数组。1、数组的定义:在Java中,关键字new用于创建数组对象,在声明数组的同时分配内存空间。 定义数组的三种方式:方法一(推荐,
2023-03-16 02:42:12 回复
3,58,12,70,20,8,62,17};整数 n = a.;对于 (int i = 0; i < n - 1; i++) {对于 (int j = 0; j
2023-03-16 03:21:27 回复
nt j = 0; j < n - 1; j++) {如果 (a[j] > a[j + 1]) {int temp = a[j];a[j] = a[j + 1];a[j + 1] = 温度;}}}对于(int c:a){.out.(c);}}2、选择排序(每次比较
2023-03-16 00:04:55 回复
单,不需要额外的存储空间,在元素少的时候效果很好)空白 () {int a[]={32,87,3,58,12,70,20,8,62,17};整数 n = a.;对于 (int i = 1; i < n; i++) {//将
2023-03-16 06:36:52 回复
ray.-1(array.是数组的长度,上例中a是数组)。2.数组操作:① 作业:以下语句首先声明一个数组变量,然后创建一个包含 10 个该类型元素的数组,并将其引用分配
2023-03-15 23:04:27 回复
定的,所以在处理数组元素时,我们通常使用基本的循环或循环。使用基本循环创建、初始化和操作数组:班级 {void main([] args){[] = {1.9, 2.9, 3.4, 3.5};// 打印所有数组元素for(inti
2023-03-15 23:06:42 回复
; j++) {如果 (a[j] > a[j + 1]) {int temp = a[j];a[j] = a[j + 1];a[j + 1] = 温度;}}}对于(int c:a){.out.(c);}}2、选择排
2023-03-16 03:32:46 回复
班级 {void main([] args){// 数组大小= 10;// 定义数组[] = 新的 [尺寸];[0] = 5.6;[1] = 4.5;[2] = 3.3;[3] = 13.2;[4] = 4.0;[5] = 34.33;[6
2023-03-16 04:44:20 回复
不能加上数组的长度,因为元素个数是由后面大括号的内容决定的大括号。数组的元素通过索引访问。 数组索引从0开始,所以索引值是从0到array.-1(array.是数组的长度,上例中a是数组)。2.数组操作:① 作业:以下语句首先声明一个数组变量,然后创建一个包含 10 个该类型元素的数组,并将其引
2023-03-16 04:41:35 回复
xzs
quot; + 总计);// 找到最大的元素= [0];for(inti = 1; i < .; i++){如果([i] > 最大值){最大值 = [i];}}.out.("最大值为&qu
2023-03-16 06:10:11 回复
.out.(c);}}
2023-03-16 02:02:59 回复
xzs
量名 = new type[]{逗号分隔的初始化值};其中new type[]可以省略,所以有两种:int[] a = {1,2,3,4};int[] a = new int[]{1,2,3,4};上面的int[] a = new int[]{1,2,3,4}中java st
2023-03-15 20:47:15 回复
}}③数组排序(介绍几种常用的排序方法):1、冒泡排序(依次比较两个相似的数,提取最大值或最小值进行排序)空白 () {int a[]={32,87,3,58,12,70,20,8,62,17};整数 n = a.;对于 (int i = 0; i < n - 1;
2023-03-15 21:41:23 回复
{32,87,3,58,12,70,20,8,62,17};排序(一);对于(int c:a){.out.(c);}}
2023-03-16 04:46:59 回复

发表评论:

微信扫一扫加客服

微信扫一扫加客服

微信扫一扫加客服

微信扫一扫加客服