Алгоритм Дейкстра
if (n <= 1){
printf("\nКількість вершин повинне бути більше одиниці!\n");
exit(1);
}
printf("\nВведіть початкову вершину..");
scanf("%d",&s);
s--;
if ((s < 0)||(s > (n-1))){
printf("\nПочаткова вершина зазначена неправильно! \n");
exit(1);
}
Q=malloc(n*sizeof(int));
L=malloc(n*sizeof(double));
weigh=malloc(sizeof(double)*n*n);
if ((weigh == NULL)||(Q == NULL)||(L == NULL)){
printf("\nHедостатньо пам'яті для завантаження масиву! \n");
exit(2);
}
ret=load_matrix(n,weigh);
if (ret != 0){
printf("\nПомилка введення даних!\n");
exit(5);
}
ret=deik(n,s,weigh,Q,L);
if (ret != 0){