欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實現(xiàn)Floyd算法求最短路徑

 更新時間:2021年11月24日 10:39:45   作者:有道李  
這篇文章主要為大家詳細介紹了Java實現(xiàn)Floyd算法求最短路徑,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java實現(xiàn)Floyd算法求最短路徑的具體代碼,供大家參考,具體內(nèi)容如下

import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.util.Scanner; 
 
 
public class TestMainIO { 
 
 /** 
  * @param args 
  * @throws FileNotFoundException 
  */ 
 public static void main(String[] args) throws FileNotFoundException { 
  TestMainIO test_print = new TestMainIO(); 
  int[][] G = test_print.intputGragh("D:\\Users\\test.txt" , 6); 
  int[][] Dis = test_print.floyd(G, 6);  
  test_print.printG(Dis, 6); 
 } 
  
 public void printG(int[][] G,int n){ 
  for(int i=0;i<n;i++){ 
   for(int j=0;j<n;j++){ 
    System.out.println(i+"->"+j+" "+G[i][j]); 
   } 
  } 
 } 
 
 public int[][] intputGragh(String path , int num) throws FileNotFoundException{ 
  int[][] G = new int[num][num]; 
  for(int i=0;i<num;i++){ 
   for(int j=0;j<num;j++){ 
    G[i][j]=999; 
   } 
  } 
  Scanner in = new Scanner(new FileInputStream(path)); 
  while (in.hasNext()) { 
   int i = in.nextInt(); 
   int j = in.nextInt(); 
   int weight = in.nextInt(); 
   G[i][j] = weight; 
  } 
  return G; 
 } 
  
 public int[][] floyd(int[][] G,int n){ 
  int[][] Dis= new int[n][n]; 
  for(int q=0;q<n;q++){ 
   for(int w=0;w<n;w++){ 
    Dis[q][w]=G[q][w]; 
   } 
  } 
    
  for(int k = 0; k < n; k++){ 
   for(int i=0; i < n; i++ ){ 
    for(int j=0; j < n; j++){ 
     if(Dis[i][j]>Dis[i][k]+Dis[k][j]){ 
      Dis[i][j]=Dis[i][k]+Dis[k][j]; 
     } 
    } 
   } 
  } 
  return Dis; 
 } 
} 

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java新特性之Optional類超詳細介紹

    Java新特性之Optional類超詳細介紹

    這篇文章主要給大家介紹了關于Java新特性之Optional類超詳細介紹的相關資料,Java8中的Optional類是一個容器對象,可以包含null或非null值,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • 詳解Java線程中常用操作

    詳解Java線程中常用操作

    這篇文章主要為大家詳細介紹了一下Java線程中的一些常用操作,文中的示例代碼講解詳細,對我們學習或工作有一定幫助,需要的可以參考一下
    2022-05-05
  • java利用StringTokenizer分割字符串的實現(xiàn)

    java利用StringTokenizer分割字符串的實現(xiàn)

    利用java.util.StringTokenizer的方法,可以將一個字符串拆分為一系列的標記,本文就來介紹一下java利用StringTokenizer分割字符串的實現(xiàn),感興趣的可以了解一下
    2023-10-10
  • MyBatis學習教程(二)—如何使用MyBatis對users表執(zhí)行CRUD操作

    MyBatis學習教程(二)—如何使用MyBatis對users表執(zhí)行CRUD操作

    這篇文章主要介紹了MyBatis學習教程(二)—如何使用MyBatis對users表執(zhí)行CRUD操作的相關資料,需要的朋友可以參考下
    2016-05-05
  • Spring中Websocket身份驗證和授權(quán)的實現(xiàn)

    Spring中Websocket身份驗證和授權(quán)的實現(xiàn)

    在Web應用開發(fā)中,安全一直是非常重要的一個方面,本文主要介紹了Spring中Websocket身份驗證和授權(quán)的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • SpringBoot3.0自定stater模塊的操作流程(chatGPT提供的49種場景)

    SpringBoot3.0自定stater模塊的操作流程(chatGPT提供的49種場景)

    SpringBoot3.0發(fā)布等重磅陸消息續(xù)進入大家的視線,而本文作者將以技術整合的角度,帶大家把最火的兩個技術整合在一起,通過本文學習你將熟悉SpringBoot3.0自定stater模塊的操作流程,并熟悉OpenAi為chatGPT提供的49種場景,感興趣的朋友一起看看吧
    2022-12-12
  • Maven中pom.xml配置文件詳細介紹

    Maven中pom.xml配置文件詳細介紹

    這篇文章主要介紹了Maven中pom.xml配置文件詳細介紹,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • 微信開發(fā)準備第二步 springmvc mybatis項目結(jié)構(gòu)搭建

    微信開發(fā)準備第二步 springmvc mybatis項目結(jié)構(gòu)搭建

    這篇文章主要為大家詳細介紹了微信開發(fā)準備第二步,springmvc和mybatis項目結(jié)構(gòu)的搭建,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • 簡單了解spring cloud 網(wǎng)關服務

    簡單了解spring cloud 網(wǎng)關服務

    這篇文章主要介紹了簡單了解spring cloud 網(wǎng)關服務,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • SpringBoot Bean被加載時進行控制

    SpringBoot Bean被加載時進行控制

    很多時候我們需要根據(jù)不同的條件在容器中加載不同的Bean,或者根據(jù)不同的條件來選擇是否在容器中加載某個Bean,這就是Bean的加載控制,一般我們可以通過編程式或注解式兩種不同的方式來完成Bean的加載控制
    2023-02-02

最新評論