测试连通性(Java实现)

本文分享了一个Java实现的连通性测试程序,通过用户输入两个整数判断它们是否连通,并更新数组以反映连通状态。程序由河北大学的来智慧同学提供。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

昨天发了一个C语言写的连通性测试程序,今天把它改成了Java。
本人觉得,Java写的更好理解一些,连通性的概念可以看《C算法(第1卷)》这本书,下面分享一下该书的阅读地址。
《C算法(第1卷)》

// 名称:测试连通性(Java实现)
// 学校:河北大学
// 作者:来智慧<3552743712@qq.com>
// 时间:2016年10月9日
import java.util.Scanner;

public class H1009{
    public static void main(String[] args){
        // 声明一个整形数组,填充0~9
        int[] array = new int[10];
        for(int i = 0; i < 10; i++){
            array[i] = i;
        }
        @SuppressWarnings("resource")
        Scanner input = new Scanner(System.in);
        // 循环输入十次,测试输入数值的连通性
        for(int i = 0; i < array.length; i++)
        {
            System.out.print("请输入两个0~9之间的数:");
            int numberOne = input.nextInt();
            int numberTwo = input.nextInt();
            // 如果numberOne位置的数和numberTwo位置的数相等,则说明两数是连通的
            if(array[numberOne] == array[numberTwo]){
                System.out.println(numberOne + " " + numberTwo + " 是连通的");
            }
            // 否则的话,将number One位置的数取出,遍历整个数组,判断那个位置的数与numberOne所在位置的数相等
            // 如若找得到,则将此位置的数改为numberTwo位置的数
            // 同时,打印两数不连通
            else{
                int t = array[numberOne];
                for(int j = 0; j < 10; j++){
                    if(array[j] == t){
                        array[j] = array[numberTwo];
                    }
                }
                System.out.println(numberOne + " " + numberTwo + " 是不连通的");
            }
        }
    }
}

本人目前正在学习算法,有想一起学习的可以加一下我QQ,互相交流~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值