Pereiti prie turinio

Sarasai(linked list) naujo elemento iterpimas C++


Rekomenduojami pranešimai

Sveiki, turiu dideli nesusipratima su iterpimu i vienkrypti sarasa.

// p -saraso pradzia // g -saraso pabaiga

Mazgas* Sarasas::rod(int sk){
for(Mazgas *d = p; d != NULL; d = d->kitas){
	if(d->duom == sk){
		return d;
	}
}
return NULL;
}

 

void Sarasas::Iterpti(Mazgas *d){
if(d != NULL){
	d->duom = 9000;
	if(d == p){
		d->kitas = p;
		p = d;
	}
	else if(d == g){
		g->kitas = d;
		g = d;
	}
	for(Mazgas *s = p; s->kitas != d; s = s->kitas){ 
		d->kitas = s->kitas;
		s->kitas = d;
	}
}
}

 

main'e atlieku stai ka

 

	Sarasas *S = new Sarasas;

S->DetiT(5);
S->DetiT(4);
S->DetiT(8);
S->DetiT(90);
S->DetiT(8);
S->DetiT(50);

S->Iterpti(S->rod(4));

ir nieko nesigauna. Kodel? kai kreipiuosi kad rastu 4 tada uzraso ant virsaus t.y. tu '4' mano '9000', o kai kreipiuosi su bet kokia kita reiksme gaunu begalini cikla. Kiek ziurejau visus 3 atvejus iterpime ivykdziau(pradzia, galas, vidurys), tad kodel programa pyksta?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...