java经典算法_025对随机生成的100以内的10个数进行排序

本文介绍了一个使用Java实现的排序算法实例,通过随机生成100以内的10个数进行排序,展示了排序前后的对比结果。
package wzs.arithmetics;

import java.util.Arrays;
import java.util.Random;

// 题目:对随机生成的100以内的10个数进行排序 
public class Test_wzs25
{
    public static void main(String[] args)
    {
        int[] intString = new int[10];
        Random random = new Random();
        for (int i = 0; i < 10; i++)
        {
            intString[i] = random.nextInt(100);
        }
        System.out.println("排序前:" + Arrays.toString(intString));
        Arrays.sort(intString);
        System.out.println("排序后:" + Arrays.toString(intString));
    }
}

输出结果:

排序前:[86, 33, 11, 10, 17, 78, 13, 20, 97, 40]
排序后:[10, 11, 13, 17, 20, 33, 40, 78, 86, 97]



随机生成 10 个数字并排序可以使用不同的编程语言实现,以下为几种常见语言的实现方法: ### C 语言实现 ```c #include <stdio.h> #define N 10 #include <stdlib.h> #include <time.h> int main() { int i,j,t,a[N]; srand(time(0)); for(i = 0; i < N; i++) a[i] = rand() % 100; for(i = 0; i < N; i++) printf("随机生成 10 个数:%d\n", a[i]); for(i = 0; i < N; i++) for(j = 0; j < N - i - 1; j++) if(a[j] > a[j + 1]) { t = a[j]; a[j] = a[j + 1]; a[j + 1] = t; } printf("排序之后:\n"); for(i = 0; i < N; i++) printf("%d ", a[i]); printf("\n"); return 0; } ``` 该代码利用 `rand()` 函数随机生成 10100 以内的数字,再使用冒泡排序算法对数组进行排序,最后输排序后的数组 [^1]。 ### C++ 语言实现 ```cpp #include <iostream> #include <stdlib.h> #include <time.h> int main() { int num[10]; int i,j,temp; srand(time(0)); for(i = 0; i < 10; i++) { num[i] = rand() % 100 + 1; } for(i = 0; i < 10; i++) { for(j = i; j < 10; j++) { if(num[i] > num[j]) { temp = num[i]; num[i] = num[j]; num[j] = temp; } } } for(i = 0; i < 10; i++) { std::cout << num[i] << std::endl; } return 0; } ``` 此代码同样使用 `rand()` 函数生成 1 - 100随机数,采用简单的交换排序算法对数组排序并输 [^2]。 ### Java 语言实现 ```java import java.lang.Math; import java.util.Arrays; public class Main { public static void main(String[] args) { int []num = new int[10]; for(int i = 0; i < 10; i++) { num[i] = (int)(0 + Math.random() * (1000 - 0 + 1)); } Arrays.sort(num); for(int n : num) System.out.println(n); } } ``` 在 Java 中,使用 `Math.random()` 方法生成 0 到 1000 的随机数,利用 `Arrays.sort()` 方法对数组进行排序并输 [^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值