Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void GraphPreOrderMapRic(vertici* Arr_Vertex,MapFun mapper){
- uint i;
- if(Arr_Vertex->adj[0]!=NULL) {
- for (i = 0; i < Arr_Vertex->num_vertici; i++) {
- if (Arr_Vertex->vertice[i]->colore == 1) {
- DFS_VISIT_PREORDER(Arr_Vertex, Arr_Vertex->vertice[i], Arr_Vertex->adj[i],mapper);
- }
- }
- }
- }
- void GraphPreOrderFoldRic(vertici* Arr_Vertex,FoldFun folder,void* elem){
- uint i;
- if(Arr_Vertex->adj[0]!=NULL) {
- for (i = 0; i < Arr_Vertex->num_vertici; i++) {
- if (Arr_Vertex->vertice[i]->colore == 1) {
- DFS_VISIT_PREORDER2(Arr_Vertex, Arr_Vertex->vertice[i], Arr_Vertex->adj[i],folder,elem);
- }
- }
- }
- }
- void GraphPostOrderMapRic(vertici* Arr_Vertex,MapFun mapper){
- uint i;
- if(Arr_Vertex->adj[0]!=NULL) {
- for (i = 0; i < Arr_Vertex->num_vertici; i++) {
- if (Arr_Vertex->vertice[i]->colore == 1) {
- DFS_VISIT_POSTORDER(Arr_Vertex, Arr_Vertex->vertice[i], Arr_Vertex->adj[i],mapper);
- }
- }
- }
- }
- void GraphPostOrderFoldRic(vertici* Arr_Vertex,FoldFun folder,void* elem){
- uint i;
- if(Arr_Vertex->adj[0]!=NULL) {
- for (i = 0; i < Arr_Vertex->num_vertici; i++) {
- if (Arr_Vertex->vertice[i]->colore == 1) {
- DFS_VISIT_POSTORDER2(Arr_Vertex, Arr_Vertex->vertice[i], Arr_Vertex->adj[i],folder,elem);
- }
- }
- }
- }
- void GraphBreadthOrderMapRic(vertici* Arr_Vertex,MapFun mapper){
- uint i;
- long long int temp;
- int ris=0;
- DataType* type=ConstructIntDataType();
- DataObject* oggetto=adtConstruct(type);
- QueueType* type_queue=ConstructQueueVecType();
- QueueObject* queue=queConstruct(type_queue);
- for(i=0;i<Arr_Vertex->num_vertici;i++) {
- if(Arr_Vertex->vertice[i]->colore==1)
- {
- Arr_Vertex->vertice[i]->colore = 3;
- mapper(Arr_Vertex->vertice[i]->elem,NULL);
- temp = Arr_Vertex->vertice[i]->nome;
- adtSetValue(oggetto, &temp);
- queEnqueue(queue, oggetto);
- BFS_VISIT(Arr_Vertex,queue,mapper);
- }
- }
- }
- void GraphBreadthOrderFoldRic(vertici* Arr_Vertex,FoldFun folder,void* elem){
- uint i;
- long long int temp;
- int ris=0;
- DataType* type=ConstructIntDataType();
- DataObject* oggetto=adtConstruct(type);
- QueueType* type_queue=ConstructQueueVecType();
- QueueObject* queue=queConstruct(type_queue);
- for(i=0;i<Arr_Vertex->num_vertici;i++) {
- if(Arr_Vertex->vertice[i]->colore==1)
- {
- Arr_Vertex->vertice[i]->colore = 3;
- folder(Arr_Vertex->vertice[i]->elem,elem,NULL);
- temp = Arr_Vertex->vertice[i]->nome;
- adtSetValue(oggetto, &temp);
- queEnqueue(queue, oggetto);
- BFS_VISIT2(Arr_Vertex,queue,folder,elem);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement