„Dinamikus adatszerkezetek tutorial” változatai közötti eltérés

Ferrero (vitalap | szerkesztései)
Ferrero (vitalap | szerkesztései)
201. sor: 201. sor:
  pELEM tmp=lista, n=NULL,n1=NULL, prev=NULL;
  pELEM tmp=lista, n=NULL,n1=NULL, prev=NULL;


  while ( tmp->kov!=NULL) {   // elértük a lista végét?
  while ( tmp->kov!=NULL) { // elértük a lista végét?
  if (tmp->ertek > tmp->kov->ertek) { // ha inverzio, akkor csere
  if (tmp->ertek > tmp->kov->ertek) { // ha inverzio, akkor csere
  if (prev==NULL) { // ez az elso elem?
  if (prev==NULL) { // ez az elso elem?
  n1=tmp->kov; // lementjük az egyik végét
  n1=tmp->kov; // lementjük az egyik végét
  tmp->kov=tmp->kov->kov; // és cseréljük
  tmp->kov=tmp->kov->kov; // és cseréljük
  n1->kov=tmp;
  n1->kov=tmp;
  lista=n1; /*@@@@ Ez itt nagyon haxos. Én külön változót
  lista=n1; /* Ez itt nagyon haxos. Én külön változót
használnék erre ZH-n.*/
használnék erre ZH-n.*/
  } else { // nem az első elem
  } else { // nem az első elem
  prev->kov=tmp->kov;   // ekkor figyelembe vesszük
  prev->kov=tmp->kov; // ekkor figyelembe vesszük
  n1=tmp->kov->kov; // az előző elemet is
  n1=tmp->kov->kov; // az előző elemet is
  tmp->kov->kov=tmp;
  tmp->kov->kov=tmp;
  tmp->kov=n1;
  tmp->kov=n1;
  }
  }
  prev=NULL;   // csere volt, szal kezdjük
  prev=NULL; // csere volt, szal kezdjük
  tmp=lista;   // előről az egész
  tmp=lista; // előről az egész vizsgálatot
vizsgálatot
  } else {
  } else {
  prev=tmp; // nem kell cserélni, így
  prev=tmp; // nem kell cserélni, így
  tmp=tmp->kov;   // megyünk tovább
  tmp=tmp->kov; // megyünk tovább
  }
  }
  }
  }
  return lista;   // visszatérünk a rendezett
  return lista; // visszatérünk a rendezett
  // lista első elemért mutató
// lista első elemért mutató
  // pointerrel
// pointerrel
   }
   }