- #include <stdio.h>
- #include <stdlib.h>
- #include <assert.h>
- //#define VERTICES 7
- typedef int __nodetype;
- typedef struct node {
- __nodetype key;
- struct node *next;
- } NODE;
- static unsigned int vertices;
- int get_graph_size(char *argv[]) {
- unsigned int size=0;
- int a, b;
- FILE *fp;
- if (!fp) {
- return -1;
- }
- size = a > size ? a : size;
- size = b > size ? b : size;
- }
- ++size;
- return size;
- }
- void insert_node(NODE *list[], int a, int b){
- if (list[a] == NULL) {
- l->key = b;
- l->next = NULL;
- } else {
- l->key = b;
- l->next = list[a];
- }
- list[a] = l;
- }
- void print_adjacent_list(NODE *list[]){
- int i;
- NODE *tmp;
- for(i=0; i<vertices; i++) {
- if (list[i]!=NULL) {
- tmp = list[i]->next;
- while (tmp != NULL) {
- tmp = tmp->next;
- }
- }
- }
- }
- void print_adjacent_matrix(__nodetype matrix[vertices][vertices]) {
- int i, j;
- for(i=0; i<vertices; i++) {
- for(j=0; j<vertices; j++) {
- }
- }
- }
- int create_adjacent_list(char *argv[], NODE *list[]) {
- int i, a, b, prev_a, prev_b;
- FILE *fp;
- for(i=0; i<vertices; i++)
- list[i]=NULL;
- if (!fp) {
- return -1;
- }
- if (prev_a != a || prev_b != b) {
- insert_node(list, a, b);
- }
- prev_a = a;
- prev_b = b;
- }
- return 0;
- }
- int create_adjacent_matrix(char *argv[], __nodetype matrix[vertices][vertices]) {
- int i, j, a, b, prev_a, prev_b;
- FILE *fp;
- for(i=0; i<vertices; i++)
- for(j=0; j<vertices; j++)
- matrix[i][j] = 0;
- if (!fp) {
- return -1;
- }
- if (prev_a != a || prev_b != b) {
- matrix[a][b]=1;
- }
- prev_a = a;
- prev_b = b;
- }
- return 0;
- }
- int main(int argc, char *argv[]){
- vertices = get_graph_size(argv);
- NODE *adjacent_list[vertices];
- __nodetype adjacent_matrix[vertices][vertices];
- create_adjacent_list(argv, adjacent_list);
- print_adjacent_list(adjacent_list);
- create_adjacent_matrix(argv, adjacent_matrix);
- print_adjacent_matrix(adjacent_matrix);
- return 0;
- }
Recent Pastes