浅析各种编程语言对数组的不同用法(以java,python,C,C++,javaScript为例)

浅析各种编程语言对数组的不同用法

(以C,java,python,C++,javaScript为例)

C语言

❗️❗️数组中元素的数据类型必须统一❗️❗️

C语言作为比较基础的语言,很多东西都需要自己实现
例如遍历整个数组输出所有值

int main(){
    int a[10]={1,2,3,4,5,6,7,8,9,10};
    int i;
    for(i=0;i<10;i++){
        printf("%d ",a[i]);
    }
}

数组的大小必须在定义的时候申明,不可以用变量作为数组大小参数。

java

❗️❗️java数组中元素的数据类型可以是任意类型,不受限制❗️❗️

1.java中定义数组大小时可以使用待输入的变量作为数组的大小值(如下面?代码中的变量n即为数组numbers的大小)

public static void main(String[] args) {
		java.util.Scanner input = new java.util.Scanner(System.in);
		System.out.print("Enter the number of items: ");
		int n = input.nextInt();
		double [] numbers = new double[n];
		double sum =0;
		
		for(int i = 0;i<n;i++) {
			numbers[i] = input.nextDouble();
			sum +=numbers[i];
		}
		System.out.println("sum is " + sum);
		input.close();
	}

2.java支持一个简便的for循环,称为foreach循环,即不使用下标变量就可以顺序地遍历整个数组。例如,下面的代码就可以显示数组myList的所有元素:

for(double e: myList) {
			System.out.println(e);
		}

3.对于数组的复制,除了使用循环语句逐个复制数组的元素,在这里不再展开叙述,还可以使用System类中的静态方法arraycopy,或者Arrays中的copyOf和copyOfRange函数

//其中参数srcPos和tarPos分别表示在源数组sourceArray和目标数组targetArray中的起始位置
		System.arraycopy(sourceArray,srcPos,targetArray,tarPos,length);
import java.util.Arrays;
...
//表示从数组a中复制8个元素(起始8个)给数组b
b=Arrays.copyOf(a,8);

//表示复制数组a中第2到第9个元素给数组b
b=Arrays.copyOfRange(a,2,10);

python

首先需要搞明白python中list与array的区别
list是列表,list中的元素的数据类型可以不一样。array是数组,数组中的元素的数据类型必须一样。
python数组有添加功能append,可以很方便的将数组倒序输出,如下所示

a=[]
for i in range(10):
    a.append(i)
for i in range(10):
    print(a[i])  //输入0--9
print(a[2:5])  //输出结果为[2, 3, 4]
print(a[::-1]) //输出结果为[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

C++

❗️❗️可以存储一个固定大小的相同类型元素的顺序集合❗️❗️
C++中数组的操作基本与C一样
下面的实例使用了上述的三个概念,即,声明数组、数组赋值、访问数组:

#include <iostream>
using namespace std;
#include <iomanip>
using std::setw;
int main() {
        int n[ 10 ]; // n 是一个包含 10 个整数的数组
        // 初始化数组元素
        for ( int i = 0; i < 10; i++ )
        {
            n[ i ] = i + 100; // 设置元素 i 为 i + 100
        }
        cout << "Element" << setw( 13 ) << "Value" << endl;

        // 输出数组中每个元素的值
        for ( int j = 0; j < 10; j++ )
        {
            cout << setw( 7 )<< j << setw( 13 ) << n[ j ] << endl;
        }
        return 0;
}

JavaScript

创建数组,为其赋值,然后输出这些值。

var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"
for (i=0;i<mycars.length;i++)
{
document.write(mycars[i] + "<br />")
}

For…In 声明
使用 for…in 声明来循环输出数组中的元素。

var x
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"

for (x in mycars)
{
document.write(mycars[x] + "<br />")
}
//输出结果为
//Saab
//Volvo
//BMW

合并两个数组 - concat()
如何使用 concat() 方法来合并两个数组。

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"

document.write(arr.concat(arr2))
//输出结果为George,John,Thomas,James,Adrew,Martin

用数组的元素组成字符串 - join()
如何使用 join() 方法将数组的所有元素组成一个字符串。

var arr = new Array(3);
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr.join());

document.write("<br />");

document.write(arr.join("."));
//输出结果为
//George,John,Thomas
//George.John.Thomas

文字数组 - sort()
如何使用 sort() 方法从字面上对数组进行排序。

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
document.write(arr.sort())
//输出结果为
//George,John,Thomas,James,Adrew,Martin
//Adrew,George,James,John,Martin,Thomas

数字数组 - sort()
如何使用 sort() 方法从数值上对数组进行排序。

function sortNumber(a, b)
{
return a - b
}

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort(sortNumber))
//10,5,40,25,1000,1
//1,5,10,25,40,1000
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值