[C]array di vertici con grado in uscita minore
nel metodo che ho riportato sotto trovo uno dei vertici di un grafo con grado in uscita minore e mi faccio passare il vertice con pos. come posso modificarlo in modo da mettere in un array tutti i vertici(pos) che hanno grado minore?
void trovaOutdegreeMinore(){ int min=outdegrees[0],i; for(i=0;i<n;i++) { if(outdegrees[i]<min) { min=outdegrees[i]; pos=i; } } }
Risposte
Trova il valore minimo e nel frattempo conti quante volte si ripete. Crei un'array della dimensione giusta e quindi cerchi nell'array gli elementi che possiedono quel valore e li carichi nell'array.
mi potresti scrivere il codice che mi hai descritto? io ho fatto una modifica dove se nAdj==minore pos2=i, in questo caso pos2 mi dice se cè un altro vertice con grado minore, però mi sembra non molto corretto e dovrei inserire in un array tipo[pos,pos2] .
void trovaOutdegreeMinore(){ int min=outdegrees[0],i,a,min2,pos2; for(i=0;i<n;i++) { if(outdegrees[i]<min ) { min=outdegrees[i]; pos=i; } if(nAdj[i]==min ) { pos2=i; } }