데이터 구조 - 토폴로지 정렬

1207 단어 데이터 구조
// TopologicalSort.cpp : Defines the entry point for the console application.
/*-----CODE FOR FUN---------------
-------CREATED BY Dream_Whui------
-------2015-2-15--------------------*/

//    

#include "stdafx.h"
#include "graph.h"
#include 

int indegree[MAX_VERTEX_NUM];

void FindInDegree(ALGraph G, int* indegree)//       
{
    int i,j;
    ArcNode *p;
    for(i=0; iadjvex;
            indegree[j]++;
            p = p->nextarc;
        }
    }
}

int TopologicalSort(ALGraph G)//    
{
    FindInDegree(G,indegree);
    stack S;
    int i,j;
    for(i=0; i";
        ++count;
        for(p=G.vertices[j].firstarc; p!=NULL; p=p->nextarc)
        {
            j = p->adjvex;    // j             1
            if(!(--indegree[j]))//    0,   
                S.push(j);
        }
    }
    if(count

좋은 웹페이지 즐겨찾기