Huffman
-
Hi ich muss einen Huffman Baumerstellen und irgendwie schaffe ich das nicht das Histogramm in eine priority queue hinzugfügen. Ich muss das Programm für das schreiben ich arbeite genau nach dem script deswegen komme ich machmal ins stocken
map< unsigned char, unsigned int > meinegrauwerte = histogram.bins(); //Laedt Histogramm in eine Map
map< unsigned char, unsigned int >::iterator pos;
//Temporärer Knoten
CKnot tempKnot(0,0,NULL,NULL);pos = meinegrauwerte.begin();
int i =0;do {
m_knotQueue.push( CKnot(pos->first, pos->second, NULL, NULL) );
}while (pos[i++] !=meinegrauwerte.end());
-
Abgesehen davon das du hier im Falschen Forum bist und das du keine C++-Tags verwendet hast,(du machst C++ also warum nicht C++ Unter Forum weiter oben?!) schätze ich mal das es hier dran liegen könnte.
map< unsigned char, unsigned int > meinegrauwerte = histogram.bins(); //Laedt Histogramm in eine Map map< unsigned char, unsigned int >::iterator pos; //Temporärer Knoten CKnot tempKnot(0,0,NULL,NULL); pos = meinegrauwerte.begin(); int i =0; do { m_knotQueue.push( CKnot(pos->first, pos->second, NULL, NULL) ); } while (pos[i++] !=meinegrauwerte.end()); //warum pos wie ein array nutzen? //schalte den iterator doch normal weiter
map< unsigned char, unsigned int > meinegrauwerte = histogram.bins(); //Laedt Histogramm in eine Map map< unsigned char, unsigned int >::iterator pos; //Temporärer Knoten CKnot tempKnot(0,0,NULL,NULL); pos = meinegrauwerte.begin(); int i =0; while (pos++ !=meinegrauwerte.end()) { m_knotQueue.push( CKnot(pos->first, pos->second, NULL, NULL) ); }