#include<stdio.h>

#include<malloc.h>

#define FALSE 0

#define TRUE 1

#define MAX 100

#define MAX_VISITED 100

short int visited[MAX_VISITED];


typedef struct node* nodePointer;

typedef struct node

{

int vertex;

nodePointer link;

}node;


nodePointer* head;



void dfs(int );


int main(void)

{

int i,j,a, b;

bool num;

nodePointer ptr;

printf(" 엣지 입력 \n");

head = (nodePointer*)malloc(sizeof(node) * MAX);

for( i = 0; i < MAX; i++)

{

printf("입력 : ");

scanf_s("%d %d", &a, &b);

if (a == b == -1)

break;


nodePointer x = (nodePointer)malloc(sizeof(node));

x->vertex = b;


for (j = 0; j < MAX; j++)

{

if (head[j]->vertex == a)

{

num = true;

break;

}

else

num = false;

}


switch (num)

{

case true:

for (ptr = head[j]; ptr->link == NULL; ptr = ptr->link);

ptr->link = x;

case false:

head[i]->vertex = a;

head[i]->link = x;

}



}



}




그래프 엣지 입력받아서 만드는거거든

for문 제일 첫 if에서 액세스위반뜨는데 도저히 모르겠다 

포인터만 건들면 하루도빠짐없이 액세스위반떠서 돌아버릴거같음.. ㅠㅠ