Алгоритм Дейкстры - в с ++?

Последние четыре дня я пытаюсь понять алгоритм Дейкстры. Но я не могу. У меня есть вектор точек. Из этого я создал матрицу затрат. Но я не знаю, как сделать алгоритм Дейкстры. Источники доступны в сети, но я не из области компьютерных наук, поэтому я не могу их понять. Я пытаюсь сделать такую ​​функцию

vector<int> dijkstra(costMatrix[][])
{
  ....
  ....
  return vector<int>pathPointindex
}

main()
{
    vector<Point> availablePoints;
    costMatrix[][]=createCostMatrix();
    vector<int> indexes=dijikstra(costMatrix)
    for(int i=0;i<indexes.size();i++)
       cout << "path points are " << availablePoints[indexes[i]] << endl;
}

Если кто-нибудь, можете ли вы опубликовать код. Я не ленивый. Но мой проект уже превысил крайний срок один день назад. Теперь я потерял надежду понять логику. Теперь просто я хочу функцию. «Человек в беде - действительно ангел».

РЕДАКТИРОВАТЬ: Особая благодарность "Loki Astari" за отличный ответ

Ответы на вопрос(6)

Ваш ответ на вопрос