精华内容
下载资源
问答
  • 随机打乱一个数组输出无序数组

    这问题在最近的面试中经常出现,自己最近也尝试写了一下,这是我的两个思路:

    1.使用Collections中的shuffle()方法:
    shuffle() 是 Collections 中的静态方法 ,它用于将一个 list 集合中的元素顺序进行打乱。所有将数组放入List中进行打乱然后输出:

    private void DisOrder(int arr[]){
    
            List<Integer> list = new ArrayList<Integer>();
            for (int i=0;i<arr.length;i++){
                list.add(arr[i]);
            }
    
            System.out.println(list);
    
            Collections.shuffle(list);
    
            //也可以利用Iterator进行对List的输出
            /*Iterator ite = list.iterator();
            while(ite.hasNext()){
                System.out.print(ite.next().toString()+", ");
            }*/
            System.out.println(list);
        }

    2.利用随机函数random():
    这种方法也是大家普遍想到的,基本的思路是利用随机函数random()产生相应的随机数,将数组中该位置上的数进行调换来实现数组的无序:

    public void DisOrder(int arr[]){//随机打乱数组
            int n = arr.length;
    
            for (int i=0;i<n;i++){
                //将数组i位置上的数与随机位上的数进行调换实现无序
                exchange(arr,i,(int)(Math.random()*n));
            }
        }
    
        //交换方法
        public void exchange(int arr[],int start,int index){
            int temp;
            temp = arr[start];
            arr[start] = arr[index];
            arr[index] = temp;
        }

    以上是我的想到的两种方式,相信大家还有很多的方法,希望有兴趣的朋友可以分享自己的思路,谢谢。

    展开全文
  •  System.out.println("数组元素:");  for (int i = 0; i ; i++) {  System.out.print(nums[i]+",");  }  System.out.println();  int max =nums[0];  for (int i = 1; i ; i++) {  if(nums[i]>max){...

    public class java {
    public static void main(String[] args) {
        int[]nums= new int[10];
        for (int i=0;i<nums.length;i++){
            nums[i]=((int)(Math.random()*10000))%1001;
        }
        System.out.println("数组元素:");
        for (int i = 0; i < nums.length; i++) {
            System.out.print(nums[i]+",");
        }
        System.out.println();
        int max =nums[0];
        for (int i = 1; i < nums.length; i++) {
            if(nums[i]>max){
                max =nums[i];
            }
        }
        System.err.println("数组元素中最大值为:"+max);
        }
    }

    展开全文
  • C语言 输出个数组中,所有元素之和为0的子序列本程序用到了一时间种子,来随机产生10整数[-5~5],函数是randData( )。还有一计算子序列为0的函数ZeroSubarray( )。randData( )如下:int arr[10];void rand...

    C语言 输出一个数组中,所有元素之和为0的子序列

    本程序用到了一个时间种子,来随机产生10个整数[-5~5],函数是randData( )。还有一个计算子序列为0的函数ZeroSubarray( )。

    randData( )如下:

    int arr[10];

    void randData(int a[], int start, int end)

    {

    srand(time(NULL));

    for (int i = start; i <= end; ++i)

    a[i] = rand() % 10-5;

    printf("生成新的序列 :");

    print(a, start, end);

    printf("\n");

    }

    ZeroSubarray( )如下:

    void ZeroSubarray(int a[], int size) {

    if (size<=0)

    perror("error array size");

    int sum = 0;

    int max = - (1 << 31);

    printf("************\n");

    for (int cur=0;cur

    {

    sum=0;

    for (int j=cur;j

    {

    sum += a[j];

    if (sum==0)

    {

    while (cur<=j)

    {

    printf("%d ",a[cur++]);

    }

    printf("\n************\n");

    }

    }

    }

    }main函数:

    void main()

    {

    randData(arr,0,9);

    ZeroSubarray(arr,10);

    printf("\n");

    }运行结果如下:

    101935272.png

    By lwclcy1楼liftback0128昨天 19:13原来如此

    展开全文
  • 本程序用到了一时间种子,来随机产生10整数[-5~5],函数是randData( )。还有一计算子序列为0的函数ZeroSubarray( )。randData( )如下:int arr[10];void randData(int a[], int start, int end){srand(time...

    本程序用到了一个时间种子,来随机产生10个整数[-5~5],函数是randData( )。还有一个计算子序列为0的函数ZeroSubarray( )。

    randData( )如下:

    int arr[10];

    void randData(int a[], int start, int end)

    {

    srand(time(NULL));

    for (int i = start; i <= end; ++i)

    a[i] = rand() % 10-5;

    printf("生成新的序列 :");

    print(a, start, end);

    printf("\n");

    }

    ZeroSubarray( )如下:

    void ZeroSubarray(int a[], int size) {

    if (size<=0)

    perror("error array size");

    int sum = 0;

    int max = - (1 << 31);

    printf("************\n");

    for (int cur=0;cur

    {

    sum=0;

    for (int j=cur;j

    {

    sum += a[j];

    if (sum==0)

    {

    while (cur<=j)

    {

    printf("%d ",a[cur++]);

    }

    printf("\n************\n");

    }

    }

    }

    }main函数:

    void main()

    {

    randData(arr,0,9);

    ZeroSubarray(arr,10);

    printf("\n");

    }运行结果如下:

    0818b9ca8b590ca3270a3433284dd417.png

    展开全文
  • 随机打乱一个数组的顺序在Java编程中,有的时候我们会遇到这样一问题:给定一个数组,要求把数组内元素的顺序随机打乱,然后输出。 通过算法解决这问题的方法有很多人写过了。我写一通过调用Java中...
  • //从[1,container.Count + 1)中取一个随机值,保证这值不会超过container的元素数 index = random.Next(0, container.Length - i-1); //以随机生成的值作为索引取container中的值 value = container...
  • 想写一随机抽取有关的脚本,从定义在数组里面的变量抽取,,初学shell编程很多细节不太会,朋友教教我
  • 数组 1.数组的定义 第一种 数据类型[] 数组名 示例: int [] arr; double [] arr; char [] arr; 第二种 数据类型 数组名 [] 示例: int arr[]; int double[]; int char []; 2.数组的动态初始化 数组的动态初始化...
  • 一、题目:返回一二维整数数组中的最大子数组的和(随机二维整形数组) 二、课题要求: 输入一二维整形数组数组里有正数也有负数; 二维数组中连续的一子矩阵组成一数组,没个子数组都有一和; 求...
  • Java编程随机函数生成二维数组

    千次阅读 2020-10-28 08:18:09
    利用随机函数产生161~10的随机整数给一个4*4的二维数组。 (1)二维数组按行列输出; (2)求最外一圈元素之和; (3)求主对角线中最大元素的值及其位置。 二、实验代码 问题解释详见代码注释。 package fighting...
  •  先通过Random类随机创建一个数组,再调用Arrays类中的排序方法sort排好序,然后再开始实现功能。  按原来的规律插入数组,很简单,只要找到合适的插入位置n,然后将n之前的数组元素直接复制到新数组的对应位置,...
  • 题目不同的人看的是不一样的。并且同一个人打开多次看的顺序也是不一样的。 let x = [1, 2, 3, 4, 5]; function shuffle(arr) { var length = arr.length, randomIndex, temp; while (length) { ...
  • Ⅰ、输出二维数组中的最大值: ①、//代码摘下直接可以运行 //输出二维数组的最大值 #include<stdio.h> #include<math.h> #include<stdlib.h> //用法如下 int main() { int i,j,a[10][10],temp=0;...
  • 设计思路: 首先定义一int型长度...同时将这得到的10随机数叠加,赋值给addition,最后用文本框输出随机数组和总和。 程序流程图: 源代码; importjavax.swing.JOptionPane; importjava.util.Arrays; ...
  • 先纵向遍历该二维数组,将该二维数组变成一个个的一维数组,在调用上次的程序函数,得出每一和都存入另一个数组中,最后调用比较函数,找到最大子数组的和。 三、源代码 #include<iostream.h> int ...
  • Java编程那些事儿47—数组使用示例3

    千次阅读 热门讨论 2008-06-25 15:56:00
    Java编程那些事儿47—数组使用示例3郑州游戏学院 陈跃峰出自:http://blog.csdn.net/mailbomb6.3.7 数字统计 要求:统计一整数中出现最多的数字。如果数字数一样,则以最大的数字为准,例如1输出1,121输出1,...
  • 要求:从键盘输入10整数存入一个数组中,用函数编程将其中的最大数与最小数位置互换,然后输出互换后的数组。 函数原型:void MaxMinExchang(int a[], int n); 输入提示信息:“Input 10 numbers:” 输入格式:"%d...
  • 1.编写程序,把下面的数据输入到一二维数组中: 25 36 78 13 12 26 8我自己编的,用VISUAL C++6.0 测试过了 #include"stdio.h" void Print(int a[4][4]) { int i,j; for(i=0;i输入44列的二维数组,CSS布局HTML小...
  • 思路:在一元素都是1的一维数组里面,让0随机替换掉少于一半的数 1:通过键盘获取数组的大小。 2:设置一元素都是1的一维数组。 3:设置一变量少于数组的一半 4:通过rang()函数产生随机数,令这些产生...
  • 2、随机生成一三维数组编程求深度的平均值,保存在一二维数组中。 int a[3][4][5] = {0}; float b[4][5] = {0}; //给三维数组元素赋值 for (int i = 0; i ; i++) { for (int j = 0; j < 4; j++) { for ...
  • 随机数组

    2015-10-30 11:55:00
    设计思路: 创建一个数组,利用for循环语句,使用Math.random()随机产生10整数(0~1000),储存在数组中,进而进行求和运算。 程序流程图: 源代码: importjavax.swing....
  • 编写方法getRandomLetter(int len),随机生成长度为len的不重复的大写字母数组array
  • //编程实现编程实现输出10个随机整数,值在0-100之间 程序: 结果:
  • 在 pdd 的面试中遇到让手写一函数实现:1-50有序数组中的元素随机输出。感觉很简单的题目,由于面试官说不可以直接使用 Random ,当时觉得应该就是 Random 的源码实现,但是由于没有看过 Random 的源码,所以一直...
  • //编程实现输出10个随机整数,值在0-100之间,并排序输出 程序 结果
  • random随机生成10数,赋值到数组中,然后对数组里的数进行相加,采用JOptionPane.showMessageDialog消息框进行输出。 2.程序流程图 3.源程序代码 1 import javax.swing.*; 2 3 public...
  • //运用数组打印输出10-50 public static void main(String[] args) { int[] arr = new int[5]; // 有效下标是0~长度-1 arr[0] = 10; arr[1] = 20; arr[2] = 30; arr[3] = 40; arr[4] = 50;
  • //随机长度的数组 for (int i = 0; i ; i++) { arr[i] = new Random().nextInt(1000);//数组元素取值范围 } return arr; } private static void sort(int[] a){ for (int i = 0; i ; i++) { ...
  • 随机数组求和

    2015-10-28 18:18:00
    随机生成10数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中。 设计思路: 1 创建一长度为10的double型数组 2 初始化String型变量output作为最终结果输出,初始化...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 74,296
精华内容 29,718
关键字:

编程随机输出4个数组