数组中用到的一些简单方法

数组方法

一 sort排序方法

执行语句:
java.util.Arrays.sort();
代码举例如下

import java.util.Arrays;
public class 数组方法1 {
public static void main (String[] args){

int[] a={9,8,7,6,5};
java.util.Arrays.sort(a);
System.out.println(Arrays.toString(a));
}
}

运行结果:
[5,6,7,8,9]

二 binarySearch查找方法

执行语句:
Arrays.binarySearch(数组标识符,目标数组元素);
**注:**查询之前需先对所查询数组进行排序,查询结果为目标元素下标
代码举例如下

//接上文代码
int x=Arrays.binarySearch(a,5);
System.out.println(x);
运行结果:0

三 fill填充方法

Arrays.fill(数组标识符,所要填充的值);
Arrays.fill(数组表示符,起始填充位置,终止填充位置,填充值);
:不包括终止位置
代码举例如下:

//接上文代码
int []b=new int [5];
Arrays.fill(b,3);
System.out.println(Arrays.toString(b));
Arrays.fill(b,2,4,5);//下标从零开始,不包含第四位
System.out.println(Arrays.toString(b));
结果:	[3, 3, 3, 3, 3]
		[3, 3, 5, 5, 3]

四 copy方法

执行语句:
System.arraycopy(数组1,srcPos,数组2,destPos,length);

数组1为取值数组,srcPos为从数组中取值的位置(从0开始)
数组2为被赋值数组,destPos为开始赋值的位置(从0开始)
length为所取元素长度
代码举例如下:

int c[]={1,3,5,7,9,11,13};
int d[]=new int [10];
System.arraycopy(c,2,d,3,3);
/*  从数组c中下标为2的元素开始取值,所取值的长度为3
	从数组d下标为3的位置开始赋值
*/
System.out.println(Arrays.toString(d));
结果:[0, 0, 0, 5, 7, 9, 0, 0, 0, 0]

萌新入门写的一些笔记,如果有什么错误,希望大家能够帮忙指出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在C语言中,生成64位随机数并存储在一个数组中通常需要用到`<stdlib.h>`库中的`rand()`函数和一些位操作来组合生成所需的随机精度。由于`rand()`返回的是32位整数,我们需要将多个调用的结果组合成一个64位数。以下是一个简单的示例: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> #define ARRAY_SIZE 8 // 假设我们想要一个包含8个元素的64位数组 // 将两个32位随机数连接为64位 unsigned long long combine_two_32_bits(unsigned int high, unsigned int low) { return ((unsigned long long)high << 32) | low; } int main() { srand(time(0)); // 设置随机种子,确保每次程序运行得到不同的结果 unsigned int high_part[ARRAY_SIZE / sizeof(unsigned int)]; unsigned int low_part[ARRAY_SIZE / sizeof(unsigned int)]; for (int i = 0; i < ARRAY_SIZE; i++) { // 生成两组32位随机数 high_part[i] = rand(); low_part[i] = rand(); // 结合两部分生成64位数,并存入数组 unsigned long long combined_num = combine_two_32_bits(high_part[i], low_part[i]); unsigned char combined_array; // 预留足够的空间存储64位数值(8字节) memcpy(combined_array, &combined_num, sizeof(combined_num)); printf("Array element %d: ", i); for (size_t j = 0; j < sizeof(combined_array); j++) { printf("%02X", combined_array[j]); // 输出十六进制表示 } printf("\n"); } return 0; } ``` 请注意,这个方法仅适用于32位系统,因为64位系统中`unsigned int`可能已经是64位。在64位系统上,直接使用`unsigned long long`类型即可。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值