测试连通性(Java实现)

来源:互联网 发布:bt离线下载软件 编辑:程序博客网 时间:2024/05/29 18:51

昨天发了一个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,互相交流~

0 0