int main() { ptrGraph G; Indegree inDegree[MAXVEX]; int tmp; G = InitializeGraph(7); AddVertex(1, 0, G); AddVertex(2, 1, G); AddVertex(3, 2, G); AddVertex(4, 3, G); AddVertex(5, 4, G); AddVertex(6, 5, G); AddVertex(7, 6, G); AddEdge(1, 2, G); AddEdge(1, 3, G); AddEdge(1, 4, G); AddEdge(2, 4, G); AddEdge(2, 5, G); AddEdge(3, 6, G); AddEdge(4, 7, G); AddEdge(4, 3, G); AddEdge(4, 6, G); AddEdge(5, 4, G); AddEdge(5, 7, G); AddEdge(7, 6, G); GetIndegree(inDegree, G->numVertexes, G); //tmp = FindNewVertexOfIndegreeZero(inDegree, G->numVertexes); TopSort(inDegree, G->numVertexes, G); }
void BellmanFord(struct Graph* graph, int src) { int V = graph->V; int E = graph->E; int dist[graph->V]; InitializeGraph(dist, V, src); RelaxEdges(graph, dist, V, E); CheckNegativeWeightCycle(graph, dist, E); printResults(dist, V); }
HRESULT DShowPlayer::OpenFile(const WCHAR* sFileName) { HRESULT hr = S_OK; IBaseFilter *pSource = NULL; // Create a new filter graph. (This also closes the old one, if any.) hr = InitializeGraph(); // Add the source filter to the graph. if (SUCCEEDED(hr)) { hr = m_pGraph->AddSourceFilter(sFileName, NULL, &pSource); } // Try to render the streams. if (SUCCEEDED(hr)) { hr = RenderStreams(pSource); } // Get the seeking capabilities. if (SUCCEEDED(hr)) { hr = m_pSeek->GetCapabilities(&m_seekCaps); } // Set the volume. if (SUCCEEDED(hr)) { hr = UpdateVolume(); } // Update our state. if (SUCCEEDED(hr)) { m_state = STATE_STOPPED; } SAFE_RELEASE(pSource); return hr; }