⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 in.h

📁 Floyd-wharshall algoritm for the shortest path problem. I wrote this in C. It s easy to compile and
💻 H
字号:
/* In.h  * l-grafi version 0.1  * File dove memorizzo gli include, le varie variabili da passare al preprocessing * e le varie struct. *///includes#include <unistd.h>#include <time.h>#include <math.h> #include <stdio.h>#include <stdlib.h>//End includes//Preprocessig#define RAND_INT(l,h)   (((int)(random_lup() * ((double)(h)-(l)+1))) + (l))#define PERCENT(n,p)    ((int)(n/(1/p)))#define TO_MSEC(x)      (1000*(x)/CLOCKS_PER_SEC)#define BS_MATRIX     	8         #define OK            0         /* nessun errore */#define E_NONE        0         /* nessun errore */#define E_NOMEM     (-1)        /* non c'<C3><A8> abbastanza memoria */#define E_PARSE     (-2)        /* errore di parsing */#define E_ILLID     (-3)        /* identificatore illegale */#define E_CYCLIC    (-4)        /* grafo non aciclico */#define E_UNKNOWN   (-5)        /* errore non conosciuto *///End preprocessing/* Strutture di rappresentazione dei grafi : * Matrici di adiacenza * Liste   di adiacenza */typedef struct {                /* --- MATRICE D'ADIACENZA --- */  int            size;          /* Grandezza della matrice */  int            vtcnt;         /* Numero di nodi*/  int            edcnt;         /* Numero di archi */  int            **mat;         /* La matrice */} ADJMAT;typedef struct dgraph_edge {    /* --- RAPPRESENTAZIONE DI UN NODO NELLA LISTA D'ADIACENZA ---*/    int vertex_no;              /* Numero del vertice */    int dist;                   /* Distanza */    struct dgraph_edge *next;   /* Puntatore al prossimo nodo collegato */} dgraph_edge_t;/* Vertex structure type. */typedef struct dgraph_vertex {  /* --- RAPPRESENTAZIONE DI UN VERTICE NELLA LISTA D'ADIACENZA ---*/    dgraph_edge_t *first_edge;  /* Puntatori ai nodi collegati */    dgraph_edge_t *last_edge;} dgraph_vertex_t;typedef struct dgraph {         /*--- LISTA D'ADIACENZA ---*/    int n;                      //nodi    dgraph_vertex_t *vertices;  //Puntatore a vertices  } dgraph_t;/* Strutture di rappresentazione dei risultati */typedef struct dfs_bfs_result {    int n, size;    /* Specifica la grandezza dell'array */    int *vertices;  /* Il risultato della dfs è rappresentato usando un array. */    int *parents;   /* Gli elementi partents[i] rappresentano la visita dei nodi  durante  depth first search. */    int *visit_nos; /* Specificano i numeri di visita dei vertici.*/} dfs_bfs_result_t;/* Il risultato della ricerca delle C.F.C. è rappresentato usando * degli array. * Il campo sets_n memorizza il numero delle C.f.C. trovate nella ricerca * Il campo size specifica la grandezza dell'array. * * Le C.F.C. sono memorizzate usando tre array : *  -sets_s[i] rida la "starting position" nell'array vertices[] della *   cfi *  -sets_f[i] rida la "finish position" nell'array vertices[] della *   cfi *  - vertices[] è usato per memorizare il numero dei vertici appartenenti a una cfc. */typedef struct sc_result {    int size, n_sets;    int *vertices;    int *sets_s, *sets_f;} sc_result_t;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -